|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.http.nio.protocol.HttpAsyncRequestExecutor
@Immutable public class HttpAsyncRequestExecutor
HttpAsyncRequestExecutor is a fully asynchronous HTTP client side
protocol handler based on the NIO (non-blocking) I/O model.
HttpAsyncRequestExecutor translates individual events fired through
the NHttpClientEventHandler interface into logically related HTTP
message exchanges.
HttpProcessor
to generate mandatory protocol headers for all outgoing messages and apply
common, cross-cutting message transformations to all incoming and outgoing
messages, whereas individual HttpAsyncRequestExecutionHandlers
are expected to implement application specific content generation and
processing. The caller is expected to pass an instance of
HttpAsyncRequestExecutionHandler to be used for the next series
of HTTP message exchanges through the connection context using
HTTP_HANDLER attribute. HTTP exchange sequence is considered
complete when the HttpAsyncResponseConsumer.isDone() method
returns true. The HttpAsyncRequester utility class can
be used to facilitate initiation of asynchronous HTTP request execution.
The following parameters can be used to customize the behavior of this
class:
HttpAsyncRequestExecutionHandler| Field Summary | |
|---|---|
static String |
HTTP_HANDLER
|
| Constructor Summary | |
|---|---|
HttpAsyncRequestExecutor()
|
|
| Method Summary | |
|---|---|
void |
closed(NHttpClientConnection conn)
Triggered when the connection is closed. |
void |
connected(NHttpClientConnection conn,
Object attachment)
Triggered when a new outgoing connection is created. |
void |
endOfInput(NHttpClientConnection conn)
Triggered when the connection is closed by the opposite end point (half-closed). |
void |
exception(NHttpClientConnection conn,
Exception cause)
Triggered if an error occurs during the HTTP exchange. |
void |
inputReady(NHttpClientConnection conn,
ContentDecoder decoder)
Triggered when the underlying channel is ready for reading a new portion of the response entity through the corresponding content decoder. |
protected void |
log(Exception ex)
This method can be used to log I/O exception thrown while closing Closeable
objects (such as HttpConnection}). |
void |
outputReady(NHttpClientConnection conn,
ContentEncoder encoder)
Triggered when the underlying channel is ready for writing a next portion of the request entity through the corresponding content encoder. |
void |
requestReady(NHttpClientConnection conn)
Triggered when the connection is ready to accept a new HTTP request. |
void |
responseReceived(NHttpClientConnection conn)
Triggered when an HTTP response is received. |
void |
timeout(NHttpClientConnection conn)
Triggered when no input is detected on this connection over the maximum period of inactivity. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final String HTTP_HANDLER
| Constructor Detail |
|---|
public HttpAsyncRequestExecutor()
| Method Detail |
|---|
public void connected(NHttpClientConnection conn,
Object attachment)
throws IOException,
HttpException
NHttpClientEventHandler
connected in interface NHttpClientEventHandlerconn - new outgoing HTTP connection.attachment - an object that was attached to the session request
IOException
HttpExceptionpublic void closed(NHttpClientConnection conn)
NHttpClientEventHandler
closed in interface NHttpClientEventHandlerconn - closed HTTP connection.
public void exception(NHttpClientConnection conn,
Exception cause)
NHttpClientEventHandler
exception in interface NHttpClientEventHandlerconn - HTTP connection that caused an I/O errorcause - exception
public void requestReady(NHttpClientConnection conn)
throws IOException,
HttpException
NHttpClientEventHandler
requestReady in interface NHttpClientEventHandlerconn - HTTP connection that is ready to accept a new HTTP request.
IOException
HttpExceptionNHttpClientConnection
public void outputReady(NHttpClientConnection conn,
ContentEncoder encoder)
throws IOException
NHttpClientEventHandler
If the content producer is unable to generate the outgoing content,
output event notifications can be temporarily suspended using
IOControl interface.
outputReady in interface NHttpClientEventHandlerconn - HTTP connection that can accommodate a new portion
of the outgoing request content.encoder - The content encoder to use to write content.
IOExceptionNHttpClientConnection,
ContentEncoder,
IOControl
public void responseReceived(NHttpClientConnection conn)
throws HttpException,
IOException
NHttpClientEventHandlerNHttpClientEventHandler.inputReady(NHttpClientConnection, ContentDecoder) calls
to transfer the response content.
responseReceived in interface NHttpClientEventHandlerconn - HTTP connection that contains an HTTP response
HttpException
IOExceptionNHttpClientConnection
public void inputReady(NHttpClientConnection conn,
ContentDecoder decoder)
throws IOException
NHttpClientEventHandlerIOControl interface.
inputReady in interface NHttpClientEventHandlerconn - HTTP connection that can produce a new portion of the
incoming response content.decoder - The content decoder to use to read content.
IOExceptionNHttpClientConnection,
ContentDecoder,
IOControl
public void endOfInput(NHttpClientConnection conn)
throws IOException
NHttpClientEventHandler
endOfInput in interface NHttpClientEventHandlerconn - half-closed HTTP connection.
IOException
public void timeout(NHttpClientConnection conn)
throws IOException
NHttpClientEventHandler
timeout in interface NHttpClientEventHandlerconn - HTTP connection that caused timeout condition.
IOExceptionprotected void log(Exception ex)
Closeable
objects (such as HttpConnection}).
ex - I/O exception thrown by Closeable.close()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||