org.xnio.channels
Interface StreamSourceChannel
- All Superinterfaces:
- Channel, Closeable, CloseableChannel, Configurable, InterruptibleChannel, ReadableByteChannel, ScatteringByteChannel, SuspendableReadChannel
- All Known Subinterfaces:
- ConnectedSslStreamChannel, ConnectedStreamChannel, StreamChannel
public interface StreamSourceChannel
- extends ReadableByteChannel, ScatteringByteChannel, SuspendableReadChannel
A stream source channel. This type of channel is a readable source for bytes.
Methods inherited from interface java.nio.channels.Channel |
isOpen |
transferTo
long transferTo(long position,
long count,
FileChannel target)
throws IOException
- Transfers bytes into the given file from this channel. Using this method in preference to
FileChannel.transferFrom(ReadableByteChannel, long, long)
may provide a performance advantage on some platforms.
- Parameters:
position
- the position within the file from which the transfer is to begincount
- the number of bytes to be transferredtarget
- the file to write to
- Returns:
- the number of bytes (possibly 0) that were actually transferred
- Throws:
IOException
- if an I/O error occurs
transferTo
long transferTo(long count,
ByteBuffer throughBuffer,
StreamSinkChannel target)
throws IOException
- Transfers bytes into the given channel target. On some platforms, this may avoid copying bytes between user
and kernel space. On other platforms, bytes are passed through the
throughBuffer
parameter's buffer
space. On entry, throughBuffer
will be cleared. On exit, the buffer will be
flipped for emptying, and may possibly be empty or may contain data. If this method returns a value less than
count
, then the remaining data in throughBuffer
may contain data read from this channel which must
be written to target
to complete the operation. Note that using a direct buffer may provide an
intermediate performance gain on platforms without zero-copy facilities.
- Parameters:
count
- the number of bytes to be transferredthroughBuffer
- the buffer to copy through.target
- the destination to write to
- Returns:
- the number of bytes (possibly 0) that were actually transferred, or -1 if the end of input was reached
- Throws:
IOException
- if an I/O error occurs
getReadSetter
ChannelListener.Setter<? extends StreamSourceChannel> getReadSetter()
- Get the setter which can be used to change the read listener for this channel. When the listener is called,
additional notifications are automatically suspended.
- Specified by:
getReadSetter
in interface SuspendableReadChannel
- Returns:
- the setter
getCloseSetter
ChannelListener.Setter<? extends StreamSourceChannel> getCloseSetter()
- Get the setter which can be used to change the close listener for this channel. If the channel is already
closed, then the listener will not be called.
- Specified by:
getCloseSetter
in interface CloseableChannel
- Specified by:
getCloseSetter
in interface SuspendableReadChannel
- Returns:
- the setter
Copyright © 2010 JBoss, a division of Red Hat, Inc.