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.
|
protected void |
setCompleted()
Sets the completed status of this decoder to true.
|
void |
setCompleted(boolean completed)
Sets the completed status of this decoder.
|
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.public void setCompleted(boolean completed)
completed
- the completed status of this decoder.protected void setCompleted()
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
Copyright © 2005–2022 The Apache Software Foundation. All rights reserved.