|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.http.nio.protocol.BasicAsyncResponseProducer
@ThreadSafe public class BasicAsyncResponseProducer
Basic implementation of HttpAsyncResponseProducer
. The producer
can make use of the HttpAsyncContentProducer
interface to
efficiently stream out message content to the underlying non-blocking HTTP
connection, if it is implemented by the HttpEntity
inclosed in
the response.
HttpAsyncContentProducer
Constructor Summary | |
---|---|
|
BasicAsyncResponseProducer(HttpResponse response)
Creates a producer that can be used to transmit the given response message. |
protected |
BasicAsyncResponseProducer(HttpResponse response,
HttpAsyncContentProducer producer)
Creates a producer that can be used to transmit the given response message. |
Method Summary | |
---|---|
void |
close()
|
void |
failed(Exception ex)
Invoked to signal that the response processing terminated abnormally. |
HttpResponse |
generateResponse()
Invoked to generate a HTTP response message head. |
void |
produceContent(ContentEncoder encoder,
IOControl ioctrl)
Invoked to write out a chunk of content to the ContentEncoder . |
void |
responseCompleted(HttpContext context)
Invoked to signal that the response has been fully written out. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected BasicAsyncResponseProducer(HttpResponse response, HttpAsyncContentProducer producer)
HttpEntity
whose properties are consistent with the behavior
of the content producer.
response
- response message.producer
- response content producer.public BasicAsyncResponseProducer(HttpResponse response)
HttpEntity
it is also expected to implement HttpAsyncContentProducer
.
response
- response message.Method Detail |
---|
public HttpResponse generateResponse()
HttpAsyncResponseProducer
generateResponse
in interface HttpAsyncResponseProducer
public void produceContent(ContentEncoder encoder, IOControl ioctrl) throws IOException
HttpAsyncResponseProducer
ContentEncoder
.
The IOControl
interface can be used to suspend output events
if the producer is temporarily unable to produce more content.
When all content is finished, the producer MUST call
ContentEncoder.complete()
. Failure to do so may cause the entity
to be incorrectly delimited.
produceContent
in interface HttpAsyncResponseProducer
encoder
- content encoder.ioctrl
- I/O control of the underlying connection.
IOException
- in case of an I/O errorpublic void responseCompleted(HttpContext context)
HttpAsyncResponseProducer
responseCompleted
in interface HttpAsyncResponseProducer
context
- HTTP contextpublic void failed(Exception ex)
HttpAsyncResponseProducer
failed
in interface HttpAsyncResponseProducer
ex
- exceptionpublic void close() throws IOException
close
in interface Closeable
IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |