T
- response processing result representation.E
- response entity representation.public abstract class AbstractAsyncResponseConsumer<T,E> extends Object implements AsyncResponseConsumer<T>
AsyncEntityConsumer
to process response message content.Constructor and Description |
---|
AbstractAsyncResponseConsumer(AsyncEntityConsumer<E> dataConsumer) |
AbstractAsyncResponseConsumer(Supplier<AsyncEntityConsumer<E>> dataConsumerSupplier) |
Modifier and Type | Method and Description |
---|---|
protected abstract T |
buildResult(HttpResponse response,
E entity,
ContentType contentType)
Triggered to generate object that represents a result of response message processing.
|
void |
consume(ByteBuffer src)
Triggered to pass incoming data to the data consumer.
|
void |
consumeResponse(HttpResponse response,
EntityDetails entityDetails,
HttpContext httpContext,
FutureCallback<T> resultCallback)
Triggered to signal receipt of a response message head.
|
void |
failed(Exception cause)
Triggered to signal a failure in data processing.
|
void |
releaseResources() |
void |
streamEnd(List<? extends Header> trailers)
Triggered to signal termination of the data stream.
|
void |
updateCapacity(CapacityChannel capacityChannel)
Triggered to signal ability of the underlying data stream to receive
data capacity update.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
informationResponse
public AbstractAsyncResponseConsumer(Supplier<AsyncEntityConsumer<E>> dataConsumerSupplier)
public AbstractAsyncResponseConsumer(AsyncEntityConsumer<E> dataConsumer)
protected abstract T buildResult(HttpResponse response, E entity, ContentType contentType)
response
- the response message.entity
- the response entity.contentType
- the response content type.public final void consumeResponse(HttpResponse response, EntityDetails entityDetails, HttpContext httpContext, FutureCallback<T> resultCallback) throws HttpException, IOException
AsyncResponseConsumer
consumeResponse
in interface AsyncResponseConsumer<T>
response
- the response message head.entityDetails
- the response entity details or null
if the response
does not enclose an entity.httpContext
- the actual execution context.resultCallback
- the result callback called when response processing
has been completed successfully or unsuccessfully.HttpException
IOException
public final void updateCapacity(CapacityChannel capacityChannel) throws IOException
AsyncDataConsumer
updateCapacity
in interface AsyncDataConsumer
capacityChannel
- the channel for capacity updates.IOException
public final void consume(ByteBuffer src) throws IOException
AsyncDataConsumer
consume
in interface AsyncDataConsumer
src
- data source.IOException
public final void streamEnd(List<? extends Header> trailers) throws HttpException, IOException
AsyncDataConsumer
streamEnd
in interface AsyncDataConsumer
trailers
- data stream trailers.HttpException
IOException
public final void failed(Exception cause)
AsyncResponseConsumer
failed
in interface AsyncResponseConsumer<T>
cause
- the cause of the failure.public final void releaseResources()
releaseResources
in interface ResourceHolder
Copyright © 2005–2021 The Apache Software Foundation. All rights reserved.