@NotThreadSafe public class IdentityEncoder extends AbstractContentEncoder implements FileContentEncoder
This decoder is optimized to transfer data directly from
a FileChannel
to the underlying I/O session's channel whenever
possible avoiding intermediate buffering in the session buffer.
buffer, channel, completed, metrics
Constructor and Description |
---|
IdentityEncoder(WritableByteChannel channel,
SessionOutputBuffer buffer,
HttpTransportMetricsImpl metrics) |
Modifier and Type | Method and Description |
---|---|
String |
toString() |
long |
transfer(FileChannel src,
long position,
long count)
Transfers a portion of entity content from the given file channel
to the underlying network channel.
|
int |
write(ByteBuffer src)
Writes a portion of entity content to the underlying channel.
|
assertNotCompleted, complete, isCompleted
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
complete, isCompleted
public IdentityEncoder(WritableByteChannel channel, SessionOutputBuffer buffer, HttpTransportMetricsImpl metrics)
public int write(ByteBuffer src) throws IOException
ContentEncoder
write
in interface ContentEncoder
src
- The buffer from which content is to be retrievedIOException
- if I/O error occurs while writing contentpublic long transfer(FileChannel src, long position, long count) throws IOException
FileContentEncoder
transfer
in interface FileContentEncoder
src
- the source FileChannel to transfer data from.position
- The position within the file at which the transfer is to begin;
must be non-negativecount
- The maximum number of bytes to be transferred; must be
non-negativeIOException
Copyright © 2005-2015 The Apache Software Foundation. All Rights Reserved.