Package org.elasticsearch.client
Class HeapBufferedAsyncResponseConsumer
java.lang.Object
org.apache.http.nio.protocol.AbstractAsyncResponseConsumer<org.apache.http.HttpResponse>
org.elasticsearch.client.HeapBufferedAsyncResponseConsumer
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,org.apache.http.concurrent.Cancellable
,org.apache.http.nio.protocol.HttpAsyncResponseConsumer<org.apache.http.HttpResponse>
public class HeapBufferedAsyncResponseConsumer
extends org.apache.http.nio.protocol.AbstractAsyncResponseConsumer<org.apache.http.HttpResponse>
Default implementation of
HttpAsyncResponseConsumer
. Buffers the whole
response content in heap memory, meaning that the size of the buffer is equal to the content-length of the response.
Limits the size of responses that can be read based on a configurable argument. Throws an exception in case the entity is longer
than the configured buffer limit.-
Constructor Summary
Constructors Constructor Description HeapBufferedAsyncResponseConsumer(int bufferLimit)
Creates a new instance of this consumer with the provided buffer limit -
Method Summary
Modifier and Type Method Description protected org.apache.http.HttpResponse
buildResult(org.apache.http.protocol.HttpContext context)
int
getBufferLimit()
Get the limit of the buffer.protected org.apache.http.nio.util.ByteBufferAllocator
getByteBufferAllocator()
Returns the instance ofByteBufferAllocator
to use for content buffering.protected void
onContentReceived(org.apache.http.nio.ContentDecoder decoder, org.apache.http.nio.IOControl ioctrl)
protected void
onEntityEnclosed(org.apache.http.HttpEntity entity, org.apache.http.entity.ContentType contentType)
protected void
onResponseReceived(org.apache.http.HttpResponse response)
protected void
releaseResources()
Methods inherited from class org.apache.http.nio.protocol.AbstractAsyncResponseConsumer
cancel, close, consumeContent, failed, getContentType, getException, getResult, isDone, onClose, responseCompleted, responseReceived
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
HeapBufferedAsyncResponseConsumer
public HeapBufferedAsyncResponseConsumer(int bufferLimit)Creates a new instance of this consumer with the provided buffer limit
-
-
Method Details
-
getBufferLimit
public int getBufferLimit()Get the limit of the buffer. -
onResponseReceived
protected void onResponseReceived(org.apache.http.HttpResponse response) throws org.apache.http.HttpException, java.io.IOException- Specified by:
onResponseReceived
in classorg.apache.http.nio.protocol.AbstractAsyncResponseConsumer<org.apache.http.HttpResponse>
- Throws:
org.apache.http.HttpException
java.io.IOException
-
onEntityEnclosed
protected void onEntityEnclosed(org.apache.http.HttpEntity entity, org.apache.http.entity.ContentType contentType) throws java.io.IOException- Specified by:
onEntityEnclosed
in classorg.apache.http.nio.protocol.AbstractAsyncResponseConsumer<org.apache.http.HttpResponse>
- Throws:
java.io.IOException
-
getByteBufferAllocator
protected org.apache.http.nio.util.ByteBufferAllocator getByteBufferAllocator()Returns the instance ofByteBufferAllocator
to use for content buffering. Allows to plug in anyByteBufferAllocator
implementation. -
onContentReceived
protected void onContentReceived(org.apache.http.nio.ContentDecoder decoder, org.apache.http.nio.IOControl ioctrl) throws java.io.IOException- Specified by:
onContentReceived
in classorg.apache.http.nio.protocol.AbstractAsyncResponseConsumer<org.apache.http.HttpResponse>
- Throws:
java.io.IOException
-
buildResult
protected org.apache.http.HttpResponse buildResult(org.apache.http.protocol.HttpContext context) throws java.lang.Exception- Specified by:
buildResult
in classorg.apache.http.nio.protocol.AbstractAsyncResponseConsumer<org.apache.http.HttpResponse>
- Throws:
java.lang.Exception
-
releaseResources
protected void releaseResources()- Specified by:
releaseResources
in classorg.apache.http.nio.protocol.AbstractAsyncResponseConsumer<org.apache.http.HttpResponse>
-