|
Apache Tomcat 7.0.4 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.coyote.ajp.AbstractAjpProcessor
org.apache.coyote.ajp.AjpAprProcessor
public class AjpAprProcessor
Processes AJP requests.
Nested Class Summary | |
---|---|
protected class |
AjpAprProcessor.SocketOutputBuffer
This class is an output buffer which will write data to an output stream. |
Nested classes/interfaces inherited from class org.apache.coyote.ajp.AbstractAjpProcessor |
---|
AbstractAjpProcessor.SocketInputBuffer |
Field Summary | |
---|---|
protected static byte[] |
endMessageArray
End message array. |
protected static ByteBuffer |
flushMessageBuffer
Direct buffer used for sending explicit flush message. |
protected ByteBuffer |
getBodyMessageBuffer
Direct buffer used for sending right away a get body message. |
protected ByteBuffer |
inputBuffer
Direct buffer used for input. |
protected ByteBuffer |
outputBuffer
Direct buffer used for output. |
protected static ByteBuffer |
pongMessageBuffer
Direct buffer used for sending right away a pong message. |
protected SocketWrapper<Long> |
socket
Socket associated with the current connection. |
Fields inherited from class org.apache.coyote.ajp.AbstractAjpProcessor |
---|
adapter, asyncStateMachine, bodyBytes, bodyMessage, certificates, empty, endOfStream, endpoint, error, finished, first, hostNameC, packetSize, replay, request, requestHeaderMessage, requiredSecret, response, responseHeaderMessage, sm, tmpMB, tomcatAuthentication |
Constructor Summary | |
---|---|
AjpAprProcessor(int packetSize,
AprEndpoint endpoint)
|
Method Summary | |
---|---|
protected void |
actionInternal(ActionCode actionCode,
Object param)
Send an action to the connector. |
AbstractEndpoint.Handler.SocketState |
asyncDispatch(SocketWrapper<Long> socket,
SocketStatus status)
|
protected void |
finish()
Finish AJP response. |
protected void |
flush(boolean explicit)
Callback to write data from the buffer. |
Executor |
getExecutor()
|
protected Log |
getLog()
|
protected void |
output(byte[] src,
int offset,
int length)
|
AbstractEndpoint.Handler.SocketState |
process(SocketWrapper<Long> socket)
Process pipelined HTTP requests using the specified input and output streams. |
protected boolean |
read(int n)
Read at least the specified amount of bytes, and place them in the input buffer. |
protected boolean |
readMessage(AjpMessage message,
boolean first,
boolean useAvailableData)
Read an AJP message. |
protected boolean |
readt(int n,
boolean useAvailableData)
Read at least the specified amount of bytes, and place them in the input buffer. |
boolean |
receive()
Receive a chunk of data. |
void |
recycle()
Recycle the processor. |
protected boolean |
refillReadBuffer()
Get more request body data from the web server and store it in the internal buffer. |
Methods inherited from class org.apache.coyote.ajp.AbstractAjpProcessor |
---|
action, asyncPostProcess, getAdapter, getRequest, getTomcatAuthentication, isAsync, parseHost, prepareRequest, prepareResponse, setAdapter, setRequiredSecret, setTomcatAuthentication |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected SocketWrapper<Long> socket
protected ByteBuffer inputBuffer
protected ByteBuffer outputBuffer
protected final ByteBuffer getBodyMessageBuffer
protected static final ByteBuffer pongMessageBuffer
protected static final byte[] endMessageArray
protected static final ByteBuffer flushMessageBuffer
Constructor Detail |
---|
public AjpAprProcessor(int packetSize, AprEndpoint endpoint)
Method Detail |
---|
protected Log getLog()
getLog
in class AbstractAjpProcessor
public AbstractEndpoint.Handler.SocketState process(SocketWrapper<Long> socket) throws IOException
IOException
- error during an I/O operationpublic AbstractEndpoint.Handler.SocketState asyncDispatch(SocketWrapper<Long> socket, SocketStatus status)
public Executor getExecutor()
getExecutor
in interface Processor
getExecutor
in class AbstractAjpProcessor
protected void actionInternal(ActionCode actionCode, Object param)
actionInternal
in class AbstractAjpProcessor
actionCode
- Type of the actionparam
- Action parameterprotected void output(byte[] src, int offset, int length) throws IOException
output
in class AbstractAjpProcessor
IOException
protected void finish() throws IOException
finish
in class AbstractAjpProcessor
IOException
protected boolean read(int n) throws IOException
IOException
protected boolean readt(int n, boolean useAvailableData) throws IOException
IOException
public boolean receive() throws IOException
receive
in class AbstractAjpProcessor
IOException
protected boolean refillReadBuffer() throws IOException
refillReadBuffer
in class AbstractAjpProcessor
IOException
protected boolean readMessage(AjpMessage message, boolean first, boolean useAvailableData) throws IOException
first
- is true if the message is the first in the request, which
will cause a short duration blocking read
IOException
- any other failure, including incomplete readspublic void recycle()
recycle
in class AbstractAjpProcessor
protected void flush(boolean explicit) throws IOException
flush
in class AbstractAjpProcessor
IOException
|
Apache Tomcat 7.0.4 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |