public class IdentityDecoder extends AbstractContentDecoder implements FileContentDecoder
This decoder is optimized to transfer data directly from the underlying
I/O session's channel to a FileChannel
, whenever
possible avoiding intermediate buffering in the session buffer.
buffer, channel, completed, metrics
Constructor and Description |
---|
IdentityDecoder(ReadableByteChannel channel,
SessionInputBuffer buffer,
HttpTransportMetricsImpl metrics) |
Modifier and Type | Method and Description |
---|---|
int |
read(ByteBuffer dst)
Reads a portion of content from the underlying channel
|
void |
setCompleted(boolean completed)
Sets the completed status of this decoder.
|
String |
toString() |
long |
transfer(FileChannel dst,
long position,
long count)
Transfers a portion of entity content from the underlying network channel
into the given file channel.
|
fillBufferFromChannel, isCompleted, readFromChannel, readFromChannel
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
isCompleted
public IdentityDecoder(ReadableByteChannel channel, SessionInputBuffer buffer, HttpTransportMetricsImpl metrics)
public void setCompleted(boolean completed)
public int read(ByteBuffer dst) throws IOException
ContentDecoder
read
in interface ContentDecoder
dst
- The buffer into which entity content is to be transferredIOException
- if I/O error occurs while reading contentpublic long transfer(FileChannel dst, long position, long count) throws IOException
FileContentDecoder
transfer
in interface FileContentDecoder
dst
- the target FileChannel to transfer data into.position
- The position within the file at which the transfer is to begin;
must be non-negative.
Must be less than or equal to the size of the filecount
- The maximum number of bytes to be transferred; must be
non-negativeIOException
- if some I/O error occurs.WebARTS Library Licensed Under the GNU - General Public License. Other Libraries licensed under their respective Open Source Licenses