T - request processing result representation.E - request entity representation.public abstract class AbstractAsyncRequesterConsumer<T,E> extends Object implements AsyncRequestConsumer<T>
AsyncEntityConsumer
to process request message content.| Constructor and Description |
|---|
AbstractAsyncRequesterConsumer(AsyncEntityConsumer<E> dataConsumer) |
AbstractAsyncRequesterConsumer(Supplier<AsyncEntityConsumer<E>> dataConsumerSupplier) |
| Modifier and Type | Method and Description |
|---|---|
protected abstract T |
buildResult(HttpRequest request,
E entity,
ContentType contentType)
Triggered to generate object that represents a result of request message processing.
|
void |
consume(ByteBuffer src)
Triggered to pass incoming data to the data consumer.
|
void |
consumeRequest(HttpRequest request,
EntityDetails entityDetails,
HttpContext httpContext,
FutureCallback<T> resultCallback)
Triggered to signal receipt of a request 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.
|
public AbstractAsyncRequesterConsumer(Supplier<AsyncEntityConsumer<E>> dataConsumerSupplier)
public AbstractAsyncRequesterConsumer(AsyncEntityConsumer<E> dataConsumer)
protected abstract T buildResult(HttpRequest request, E entity, ContentType contentType)
request - the request message.entity - the request entity.contentType - the request content type.public final void consumeRequest(HttpRequest request, EntityDetails entityDetails, HttpContext httpContext, FutureCallback<T> resultCallback) throws HttpException, IOException
AsyncRequestConsumerconsumeRequest in interface AsyncRequestConsumer<T>request - the request message head.entityDetails - the request entity details or null if the request
does not enclose an entity.httpContext - the actual execution context.resultCallback - the result callback called when request processing
has been completed successfully or unsuccessfully.HttpExceptionIOExceptionpublic final void updateCapacity(CapacityChannel capacityChannel) throws IOException
AsyncDataConsumerupdateCapacity in interface AsyncDataConsumercapacityChannel - the channel for capacity updates.IOExceptionpublic final void consume(ByteBuffer src) throws IOException
AsyncDataConsumerconsume in interface AsyncDataConsumersrc - data source.IOExceptionpublic final void streamEnd(List<? extends Header> trailers) throws HttpException, IOException
AsyncDataConsumerstreamEnd in interface AsyncDataConsumertrailers - data stream trailers.HttpExceptionIOExceptionpublic final void failed(Exception cause)
AsyncRequestConsumerfailed in interface AsyncRequestConsumer<T>cause - the cause of the failure.public final void releaseResources()
releaseResources in interface ResourceHolderCopyright © 2005–2021 The Apache Software Foundation. All rights reserved.