public class AjpAprProcessor extends Object implements ActionHook
Modifier and Type | Class and Description |
---|---|
protected class |
AjpAprProcessor.SocketInputBuffer
This class is an input buffer which will read its data from an input
stream.
|
protected class |
AjpAprProcessor.SocketOutputBuffer
This class is an output buffer which will write data to an output
stream.
|
Modifier and Type | Field and Description |
---|---|
protected Adapter |
adapter
Associated adapter.
|
protected MessageBytes |
bodyBytes
Body message.
|
protected AjpMessage |
bodyMessage
Body message.
|
protected MessageBytes |
certificates
Byte chunk for certs.
|
protected boolean |
empty
Body empty flag.
|
protected static byte[] |
endMessageArray
End message array.
|
protected boolean |
endOfStream
End of stream flag.
|
protected AprEndpoint |
endpoint
Associated endpoint.
|
protected boolean |
error
Error flag.
|
protected boolean |
event
Event used.
|
protected boolean |
eventProcessing
Event processing.
|
protected boolean |
finished
Finished response.
|
protected boolean |
first
First read.
|
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 char[] |
hostNameC
Host name (used to avoid useless B2C conversion on the host name).
|
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 boolean |
replay
Replay read.
|
protected Request |
request
Request object.
|
protected AjpMessage |
requestHeaderMessage
Header message.
|
protected String |
requiredSecret
Required secret.
|
protected Response |
response
Response object.
|
protected AjpMessage |
responseHeaderMessage
Message used for response header composition.
|
protected boolean |
resumeNotification
A resume has been requested.
|
protected long |
socket
Socket associated with the current connection.
|
protected int |
timeout
Timeout.
|
protected MessageBytes |
tmpMB
Temp message bytes used for processing.
|
protected boolean |
tomcatAuthentication
Use Tomcat authentication ?
|
Constructor and Description |
---|
AjpAprProcessor(int packetSize,
AprEndpoint endpoint) |
Modifier and Type | Method and Description |
---|---|
void |
action(ActionCode actionCode,
Object param)
Send an action to the connector.
|
void |
endProcessing() |
AprEndpoint.Handler.SocketState |
event(SocketStatus status) |
protected void |
finish()
Finish AJP response.
|
protected void |
flush()
Callback to write data from the buffer.
|
Adapter |
getAdapter()
Get the associated adapter.
|
Request |
getRequest()
Get the request associated with this processor.
|
boolean |
getResumeNotification() |
int |
getTimeout() |
boolean |
getTomcatAuthentication() |
void |
parseHost(MessageBytes valueMB)
Parse host.
|
protected void |
prepareRequest()
After reading the request headers, we have to setup the request filters.
|
protected void |
prepareResponse()
When committing the response, we have to validate the set of headers, as
well as setup the response filters.
|
AprEndpoint.Handler.SocketState |
process(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.
|
void |
setAdapter(Adapter adapter)
Set the associated adapter.
|
void |
setRequiredSecret(String requiredSecret) |
void |
setTimeout(int timeout) |
void |
setTomcatAuthentication(boolean tomcatAuthentication) |
void |
startProcessing() |
protected Adapter adapter
protected Request request
protected Response response
protected AjpMessage requestHeaderMessage
protected AjpMessage responseHeaderMessage
protected AjpMessage bodyMessage
protected MessageBytes bodyBytes
protected boolean error
protected long socket
protected char[] hostNameC
protected AprEndpoint endpoint
protected MessageBytes tmpMB
protected MessageBytes certificates
protected boolean endOfStream
protected boolean empty
protected boolean first
protected boolean replay
protected boolean finished
protected ByteBuffer outputBuffer
protected ByteBuffer inputBuffer
protected final ByteBuffer getBodyMessageBuffer
protected static final ByteBuffer pongMessageBuffer
protected static final byte[] endMessageArray
protected static final ByteBuffer flushMessageBuffer
protected boolean event
protected boolean eventProcessing
protected boolean tomcatAuthentication
protected String requiredSecret
protected int timeout
protected boolean resumeNotification
public AjpAprProcessor(int packetSize, AprEndpoint endpoint)
public void startProcessing()
public void endProcessing()
public boolean getTomcatAuthentication()
public void setTomcatAuthentication(boolean tomcatAuthentication)
public void setRequiredSecret(String requiredSecret)
public void setTimeout(int timeout)
public int getTimeout()
public boolean getResumeNotification()
public Request getRequest()
public AprEndpoint.Handler.SocketState event(SocketStatus status) throws IOException
IOException
public AprEndpoint.Handler.SocketState process(long socket) throws IOException
IOException
- error during an I/O operationpublic void action(ActionCode actionCode, Object param)
action
in interface ActionHook
actionCode
- Type of the actionparam
- Action parameterpublic void setAdapter(Adapter adapter)
adapter
- the new adapterpublic Adapter getAdapter()
protected void prepareRequest()
public void parseHost(MessageBytes valueMB)
protected void prepareResponse() throws IOException
IOException
protected void finish() throws IOException
IOException
protected boolean read(int n) throws IOException
IOException
protected boolean readt(int n, boolean useAvailableData) throws IOException
IOException
public boolean receive() throws IOException
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 readIOException
- any other failure, including incomplete readspublic void recycle()
protected void flush() throws IOException
IOException
Copyright © 2015 JBoss by Red Hat. All rights reserved.