|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.http.nio.protocol.ThrottlingHttpServiceHandler
HTTP service handler implementation that allocates content buffers of limited size upon initialization and is capable of controlling the frequency of I/O events in order to guarantee those content buffers do not ever get overflown. This helps ensure near constant memory footprint of HTTP connections and to avoid the 'out of memory' condition while streaming out response content.
The service handler will delegate the task of processing requests and
generating response content to an Executor
, which is expected to
perform those tasks using dedicated worker threads in order to avoid
blocking the I/O thread.
HttpNIOParams.CONTENT_BUFFER_SIZE
Constructor Summary | |
ThrottlingHttpServiceHandler(org.apache.http.protocol.HttpProcessor httpProcessor,
org.apache.http.HttpResponseFactory responseFactory,
org.apache.http.ConnectionReuseStrategy connStrategy,
org.apache.http.util.concurrent.Executor executor,
org.apache.http.params.HttpParams params)
|
Method Summary | |
void |
closed(NHttpServerConnection conn)
Triggered when the connection is closed. |
void |
connected(NHttpServerConnection conn)
Triggered when a new incoming connection is created. |
void |
exception(NHttpServerConnection conn,
org.apache.http.HttpException httpex)
Triggered when an HTTP protocol violation occurs while receiving an HTTP request. |
void |
exception(NHttpServerConnection conn,
java.io.IOException ex)
Triggered when an I/O error occurrs while reading from or writing to the underlying channel. |
org.apache.http.params.HttpParams |
getParams()
|
void |
inputReady(NHttpServerConnection conn,
ContentDecoder decoder)
Triggered when the underlying channel is ready for reading a new portion of the request entity through the corresponding content decoder. |
void |
outputReady(NHttpServerConnection conn,
ContentEncoder encoder)
Triggered when the underlying channel is ready for writing a next portion of the response entity through the corresponding content encoder. |
void |
requestReceived(NHttpServerConnection conn)
Triggered when a new HTTP request is received. |
void |
responseReady(NHttpServerConnection conn)
Triggered when the connection is ready to send an HTTP response. |
void |
setEventListener(EventListener eventListener)
|
void |
setExpectationVerifier(org.apache.http.protocol.HttpExpectationVerifier expectationVerifier)
|
void |
setHandlerResolver(org.apache.http.protocol.HttpRequestHandlerResolver handlerResolver)
|
void |
timeout(NHttpServerConnection 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 |
Constructor Detail |
public ThrottlingHttpServiceHandler(org.apache.http.protocol.HttpProcessor httpProcessor, org.apache.http.HttpResponseFactory responseFactory, org.apache.http.ConnectionReuseStrategy connStrategy, org.apache.http.util.concurrent.Executor executor, org.apache.http.params.HttpParams params)
Method Detail |
public void setEventListener(EventListener eventListener)
public void setHandlerResolver(org.apache.http.protocol.HttpRequestHandlerResolver handlerResolver)
public void setExpectationVerifier(org.apache.http.protocol.HttpExpectationVerifier expectationVerifier)
public org.apache.http.params.HttpParams getParams()
public void connected(NHttpServerConnection conn)
NHttpServiceHandler
connected
in interface NHttpServiceHandler
conn
- closed HTTP connection.public void closed(NHttpServerConnection conn)
NHttpServiceHandler
closed
in interface NHttpServiceHandler
conn
- closed HTTP connection.public void exception(NHttpServerConnection conn, org.apache.http.HttpException httpex)
NHttpServiceHandler
exception
in interface NHttpServiceHandler
conn
- HTTP connection that caused an HTTP protocol violationhttpex
- HTTP protocol violation exceptionpublic void exception(NHttpServerConnection conn, java.io.IOException ex)
NHttpServiceHandler
exception
in interface NHttpServiceHandler
conn
- HTTP connection that caused an I/O errorex
- I/O exceptionpublic void timeout(NHttpServerConnection conn)
NHttpServiceHandler
timeout
in interface NHttpServiceHandler
conn
- HTTP connection that caused timeout condition.public void requestReceived(NHttpServerConnection conn)
NHttpServiceHandler
NHttpServiceHandler.inputReady(NHttpServerConnection, ContentDecoder)
calls
to transfer the request content.
requestReceived
in interface NHttpServiceHandler
conn
- HTTP connection that contains a new HTTP requestNHttpServerConnection
public void inputReady(NHttpServerConnection conn, ContentDecoder decoder)
NHttpServiceHandler
IOControl.suspendInput()
.
inputReady
in interface NHttpServiceHandler
conn
- HTTP connection that can produce a new portion of the
incoming request content.decoder
- The content decoder to use to read content.NHttpConnection
,
ContentDecoder
public void responseReady(NHttpServerConnection conn)
NHttpServiceHandler
responseReady
in interface NHttpServiceHandler
conn
- HTTP connection that contains an HTTP responseNHttpServerConnection
public void outputReady(NHttpServerConnection conn, ContentEncoder encoder)
NHttpServiceHandler
IOControl.suspendOutput()
.
outputReady
in interface NHttpServiceHandler
conn
- HTTP connection that can accommodate a new portion
of the outgoing response content.encoder
- The content encoder to use to write content.NHttpConnection
,
ContentEncoder
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |