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
|
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, setCompleted, setCompletedclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitisCompletedpublic IdentityDecoder(ReadableByteChannel channel, SessionInputBuffer buffer, HttpTransportMetricsImpl metrics)
public int read(ByteBuffer dst) throws IOException
ContentDecoderread in interface ContentDecoderdst - 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
FileContentDecoderWarning: Many implementations cannot write beyond the length of the file. If the position exceeds the channel's size, some implementations may throw an IOException.
transfer in interface FileContentDecoderdst - 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.Copyright © 2005–2022 The Apache Software Foundation. All rights reserved.