public class AjpProcessor extends AbstractAjpProcessor<Socket>
AbstractAjpProcessor.SocketInputBuffer, AbstractAjpProcessor.SocketOutputBuffer
Modifier and Type | Field and Description |
---|---|
protected InputStream |
input
Input stream.
|
protected OutputStream |
output
Output stream.
|
ajpFlush, bodyBytes, bodyMessage, bytesWritten, certificates, clientCertProvider, empty, endAndCloseMessageArray, endMessageArray, endOfStream, finished, first, flushMessageArray, getBodyMessageArray, keepAliveTimeout, packetSize, pongMessageArray, replay, requestHeaderMessage, requiredSecret, responseMessage, secret, sm, tmpMB, tomcatAuthentication
adapter, asyncStateMachine, endpoint, hostNameC, request, response, socketWrapper, userDataHelper
Constructor and Description |
---|
AjpProcessor(int packetSize,
JIoEndpoint endpoint) |
Modifier and Type | Method and Description |
---|---|
protected void |
actionInternal(ActionCode actionCode,
Object param)
Send an action to the connector.
|
protected Log |
getLog() |
protected void |
output(byte[] src,
int offset,
int length) |
AbstractEndpoint.Handler.SocketState |
process(SocketWrapper<Socket> socket)
Process pipelined HTTP requests using the specified input and output
streams.
|
protected boolean |
read(byte[] buf,
int pos,
int n)
Read at least the specified amount of bytes, and place them
in the input buffer.
|
protected boolean |
readMessage(AjpMessage message)
Read an AJP message.
|
boolean |
receive()
Receive a chunk of data.
|
void |
recycle(boolean socketClosing)
Recycle the processor, ready for the next request which may be on the
same connection or a different connection.
|
protected void |
resetTimeouts()
Provides a mechanism for those connector implementations (currently only
NIO) that need to reset timeouts from Async timeouts to standard HTTP
timeouts once async processing completes.
|
action, asyncDispatch, event, finish, flush, getAjpFlush, getClientCertProvider, getHttpUpgradeHandler, getKeepAliveTimeout, getTomcatAuthentication, getTomcatAuthorization, getUpgradeInbound, isComet, isUpgrade, populateHost, populatePort, prepareRequest, prepareResponse, refillReadBuffer, setAjpFlush, setAllowedRequestAttributesPatternPattern, setClientCertProvider, setKeepAliveTimeout, setRequiredSecret, setSecret, setSslSupport, setTomcatAuthentication, setTomcatAuthorization, upgradeDispatch, upgradeDispatch
asyncPostProcess, errorDispatch, getAdapter, getAsyncStateMachine, getEndpoint, getErrorState, getExecutor, getMaxCookieCount, getRequest, getSocketWrapper, isAsync, parseHost, resetErrorState, setAdapter, setErrorState, setMaxCookieCount, setSocketWrapper
protected InputStream input
protected OutputStream output
public AjpProcessor(int packetSize, JIoEndpoint endpoint)
protected Log getLog()
getLog
in class AbstractProcessor<Socket>
public AbstractEndpoint.Handler.SocketState process(SocketWrapper<Socket> socket) throws IOException
process
in interface Processor<Socket>
process
in class AbstractProcessor<Socket>
IOException
- error during an I/O operationpublic void recycle(boolean socketClosing)
AbstractAjpProcessor
protected void actionInternal(ActionCode actionCode, Object param)
actionInternal
in class AbstractAjpProcessor<Socket>
actionCode
- Type of the actionparam
- Action parameterprotected void resetTimeouts()
AbstractAjpProcessor
resetTimeouts
in class AbstractAjpProcessor<Socket>
protected void output(byte[] src, int offset, int length) throws IOException
output
in class AbstractAjpProcessor<Socket>
IOException
protected boolean read(byte[] buf, int pos, int n) throws IOException
buf
- Buffer to read data intopos
- Start positionn
- The minimum number of bytes to readtrue
if the requested number of bytes were read
else false
IOException
- If an I/O error occurs during the readpublic boolean receive() throws IOException
receive
in class AbstractAjpProcessor<Socket>
IOException
protected boolean readMessage(AjpMessage message) throws IOException
message
- The message object to populateIOException
- any other failure, including incomplete readsCopyright © 2000-2021 Apache Software Foundation. All Rights Reserved.