XNIO API 2.0.0.GA

org.jboss.xnio.channels
Class BlockingReadableByteChannel

java.lang.Object
  extended by org.jboss.xnio.channels.BlockingReadableByteChannel
All Implemented Interfaces:
java.io.Closeable, java.nio.channels.Channel, java.nio.channels.ReadableByteChannel, java.nio.channels.ScatteringByteChannel

public class BlockingReadableByteChannel
extends java.lang.Object
implements java.nio.channels.ScatteringByteChannel

A blocking wrapper for a StreamSourceChannel. Read operations will block until some data may be transferred. Once any amount of data is read, the operation will return.


Constructor Summary
BlockingReadableByteChannel(StreamSourceChannel delegate)
          Construct a new instance.
 
Method Summary
 void close()
          
 boolean isOpen()
          
 int read(java.nio.ByteBuffer dst)
          Perform a blocking read operation.
 long read(java.nio.ByteBuffer[] dsts)
          Perform a blocking, scattering read operation.
 long read(java.nio.ByteBuffer[] dsts, int offset, int length)
          Perform a blocking, scattering read operation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BlockingReadableByteChannel

public BlockingReadableByteChannel(StreamSourceChannel delegate)
Construct a new instance.

Parameters:
delegate - the channel to forward I/O operations to
Method Detail

read

public long read(java.nio.ByteBuffer[] dsts,
                 int offset,
                 int length)
          throws java.io.IOException
Perform a blocking, scattering read operation.

Specified by:
read in interface java.nio.channels.ScatteringByteChannel
Parameters:
dsts - the destination buffers
offset - the offset into the destination buffer array
length - the number of buffers to read into
Returns:
the number of bytes actually read (will be greater than zero)
Throws:
java.io.IOException - if an I/O error occurs

read

public long read(java.nio.ByteBuffer[] dsts)
          throws java.io.IOException
Perform a blocking, scattering read operation.

Specified by:
read in interface java.nio.channels.ScatteringByteChannel
Parameters:
dsts - the destination buffers
Returns:
the number of bytes actually read (will be greater than zero)
Throws:
java.io.IOException - if an I/O error occurs

read

public int read(java.nio.ByteBuffer dst)
         throws java.io.IOException
Perform a blocking read operation.

Specified by:
read in interface java.nio.channels.ReadableByteChannel
Parameters:
dst - the destination buffer
Returns:
the number of bytes actually read (will be greater than zero)
Throws:
java.io.IOException - if an I/O error occurs

isOpen

public boolean isOpen()

Specified by:
isOpen in interface java.nio.channels.Channel

close

public void close()
           throws java.io.IOException

Specified by:
close in interface java.io.Closeable
Specified by:
close in interface java.nio.channels.Channel
Throws:
java.io.IOException

XNIO API 2.0.0.GA

Copyright © 2009 JBoss, a division of Red Hat, Inc.