public abstract class AbstractContentDecoder extends Object implements ContentDecoder
ContentDecoder
that serves as a base for all content
decoder implementations.Modifier and Type | Field and Description |
---|---|
protected SessionInputBuffer |
buffer |
protected ReadableByteChannel |
channel |
protected boolean |
completed |
protected HttpTransportMetricsImpl |
metrics |
Constructor and Description |
---|
AbstractContentDecoder(ReadableByteChannel channel,
SessionInputBuffer buffer,
HttpTransportMetricsImpl metrics)
Creates an instance of this class.
|
Modifier and Type | Method and Description |
---|---|
protected int |
fillBufferFromChannel()
Reads from the channel to the session buffer.
|
boolean |
isCompleted()
Returns
true if the entity has been received in its
entirety. |
protected int |
readFromChannel(ByteBuffer dst)
Reads from the channel to the destination.
|
protected int |
readFromChannel(ByteBuffer dst,
int limit)
Reads from the channel to the destination.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
read
protected final ReadableByteChannel channel
protected final SessionInputBuffer buffer
protected final HttpTransportMetricsImpl metrics
protected boolean completed
public AbstractContentDecoder(ReadableByteChannel channel, SessionInputBuffer buffer, HttpTransportMetricsImpl metrics)
channel
- the source channel.buffer
- the session input buffer that can be used to store
session data for intermediate processing.metrics
- Transport metrics of the underlying HTTP transport.public boolean isCompleted()
ContentDecoder
true
if the entity has been received in its
entirety.isCompleted
in interface ContentDecoder
true
if all the content has been consumed,
false
otherwise.protected int readFromChannel(ByteBuffer dst) throws IOException
dst
- destination.IOException
protected int fillBufferFromChannel() throws IOException
IOException
protected int readFromChannel(ByteBuffer dst, int limit) throws IOException
dst
- destination.limit
- max number of bytes to transfer.IOException
WebARTS Library Licensed Under the GNU - General Public License. Other Libraries licensed under their respective Open Source Licenses