public class AjpAprProcessor extends AbstractAjpProcessor<Long>
AbstractAjpProcessor.SocketInputBuffer, AbstractAjpProcessor.SocketOutputBuffer
Modifier and Type | Field and Description |
---|---|
protected ByteBuffer |
inputBuffer
Direct buffer used for input.
|
protected ByteBuffer |
outputBuffer
Direct buffer used for output.
|
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 |
---|
AjpAprProcessor(int packetSize,
AprEndpoint 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<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(boolean socketClosing)
Recycle the processor.
|
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 ByteBuffer inputBuffer
protected ByteBuffer outputBuffer
public AjpAprProcessor(int packetSize, AprEndpoint endpoint)
protected Log getLog()
getLog
in class AbstractProcessor<Long>
public AbstractEndpoint.Handler.SocketState process(SocketWrapper<Long> socket) throws IOException
process
in interface Processor<Long>
process
in class AbstractProcessor<Long>
IOException
- error during an I/O operationprotected void actionInternal(ActionCode actionCode, Object param)
actionInternal
in class AbstractAjpProcessor<Long>
actionCode
- Type of the actionparam
- Action parameterprotected void resetTimeouts()
AbstractAjpProcessor
resetTimeouts
in class AbstractAjpProcessor<Long>
protected void output(byte[] src, int offset, int length) throws IOException
output
in class AbstractAjpProcessor<Long>
IOException
protected boolean read(int n) throws IOException
n
- The minimum number of bytes to read before the method returnstrue
IOException
- If an I/O error occurs during the readprotected boolean readt(int n, boolean useAvailableData) throws IOException
n
- The minimum number of bytes to readuseAvailableData
- If true
, only proceed with the read if
there is at least one byte of data available to
read in the input buffertrue
if the number of bytes requested was read,
false
if no bytes were readIOException
- if an I/O error occurs during the readpublic boolean receive() throws IOException
receive
in class AbstractAjpProcessor<Long>
IOException
protected boolean readMessage(AjpMessage message, boolean first, boolean useAvailableData) throws IOException
message
- The message object to be populatedfirst
- is true if the message is the first in the request, which
will cause a short duration blocking readuseAvailableData
- If true
and if first
is
true
, only proceed with the read if there
is at least one byte of data available to read in
the input bufferIOException
- any other failure, including incomplete readspublic void recycle(boolean socketClosing)
Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.