org.xnio.channels
Interface StreamSinkChannel
- All Superinterfaces:
- Channel, Closeable, CloseableChannel, Configurable, GatheringByteChannel, InterruptibleChannel, SuspendableWriteChannel, WritableByteChannel
- All Known Subinterfaces:
- ConnectedSslStreamChannel, ConnectedStreamChannel, StreamChannel
- All Known Implementing Classes:
- AssembledConnectedSslStreamChannel, AssembledConnectedStreamChannel, AssembledStreamChannel
public interface StreamSinkChannel
- extends WritableByteChannel, GatheringByteChannel, SuspendableWriteChannel
A stream sink channel. This type of channel is a writable destination for bytes. While all channel types are
thread-safe, writing a stream from more than one thread concurrently will cause data corruption and may be
disallowed at the option of the implementation.
Methods inherited from interface java.nio.channels.Channel |
isOpen |
transferFrom
long transferFrom(FileChannel src,
long position,
long count)
throws IOException
- Transfer bytes into this channel from the given file. Using this method in preference to
FileChannel.transferTo(long, long, WritableByteChannel)
may provide a performance advantage on some platforms.
- Parameters:
src
- the file to read fromposition
- the position within the file from which the transfer is to begincount
- the number of bytes to be transferred
- Returns:
- the number of bytes (possibly 0) that were actually transferred
- Throws:
IOException
- if an I/O error occurs
transferFrom
long transferFrom(StreamSourceChannel source,
long count,
ByteBuffer throughBuffer)
throws IOException
- Transfers bytes from the given channel source. 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 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 source
which must
be written to this channel to complete the operation. Note that using a direct buffer may provide an
intermediate performance gain on platforms without zero-copy facilities.
- Parameters:
source
- the source to read fromcount
- the number of bytes to be transferredthroughBuffer
- the buffer to copy through.
- 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
getWriteSetter
ChannelListener.Setter<? extends StreamSinkChannel> getWriteSetter()
- Get the setter which can be used to change the write listener for this channel.
- Specified by:
getWriteSetter
in interface SuspendableWriteChannel
- Returns:
- the setter
getCloseSetter
ChannelListener.Setter<? extends StreamSinkChannel> 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 SuspendableWriteChannel
- Returns:
- the setter
Copyright © 2010 JBoss, a division of Red Hat, Inc.