Overview | Package | Class | Tree | Deprecated | Index | Help
| Apache Tomcat 7.0.29
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.coyote.ajp
Class AjpAprProcessor

    java.lang.Object
      org.apache.coyote.AbstractProcessor<S>
          org.apache.coyote.ajp.AbstractAjpProcessor<Long>
              org.apache.coyote.ajp.AjpAprProcessor

All Implemented Interfaces:
  ActionHook, Processor<Long>

    public class AjpAprProcessor

extends AbstractAjpProcessor<Long>

Processes AJP requests.

Author:
  Remy Maucherat, Henri Gomez, Dan Milstein, Keith Wannamaker, Kevin Seguin, Costin Manolache, Bill Barker

Nested Class Summary

Nested classes/interfaces inherited from class org.apache.coyote.ajp.AbstractAjpProcessor
`AbstractAjpProcessor.SocketInputBuffer, AbstractAjpProcessor.SocketOutputBuffer`

Field Summary
`protected ByteBuffer` | `inputBuffer` Direct buffer used for input.
`protected ByteBuffer` | `outputBuffer` Direct buffer used for output.
`protected SocketWrapper<Long>` | `socket` Socket associated with the current connection.

Fields inherited from class org.apache.coyote.ajp.AbstractAjpProcessor
`bodyBytes, bodyMessage, bytesWritten, certificates, clientCertProvider, empty, endAndCloseMessageArray, endMessageArray, endOfStream, error, finished, first, flushMessageArray, getBodyMessageArray, hostNameC, keepAliveTimeout, packetSize, pongMessageArray, replay, requestHeaderMessage, requiredSecret, responseMessage, sm, tmpMB, tomcatAuthentication`

Fields inherited from class org.apache.coyote.AbstractProcessor
`adapter, asyncStateMachine, endpoint, request, response`

Constructor Summary
`AjpAprProcessor(int packetSize, AprEndpoint endpoint)`

Method Summary
`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.

Methods inherited from class org.apache.coyote.ajp.AbstractAjpProcessor
`action, asyncDispatch, event, finish, flush, getClientCertProvider, getKeepAliveTimeout, getTomcatAuthentication, getUpgradeInbound, isComet, isUpgrade, parseHost, prepareRequest, prepareResponse, refillReadBuffer, setClientCertProvider, setKeepAliveTimeout, setRequiredSecret, setSslSupport, setTomcatAuthentication, upgradeDispatch`

Methods inherited from class org.apache.coyote.AbstractProcessor
`asyncPostProcess, getAdapter, getEndpoint, getExecutor, getRequest, isAsync, setAdapter`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### socket

    protected SocketWrapper<Long> socket

  Socket associated with the current connection.

### inputBuffer

    protected ByteBuffer inputBuffer

  Direct buffer used for input.

### outputBuffer

    protected ByteBuffer outputBuffer

  Direct buffer used for output.

Constructor Detail

### AjpAprProcessor

    public AjpAprProcessor(int packetSize,
                           AprEndpoint endpoint)

Method Detail

### getLog

    protected Log getLog()

  Specified by:
    `getLog` in class `AbstractAjpProcessor<Long>`

### process

    public AbstractEndpoint.Handler.SocketState process(SocketWrapper<Long> socket)
                                                 throws IOException

  Process pipelined HTTP requests using the specified input and output streams.

  Specified by:
    `process` in interface `Processor<Long>`
  Specified by:
    `process` in class `AbstractProcessor<Long>`
  Throws:
    `IOException` - error during an I/O operation

### actionInternal

    protected void actionInternal(ActionCode actionCode,
                                  Object param)

  Send an action to the connector.

  Specified by:
    `actionInternal` in class `AbstractAjpProcessor<Long>`
  Parameters:
    `actionCode` - Type of the action
    `param` - Action parameter

### output

    protected void output(byte[] src,
                          int offset,
                          int length)
                   throws IOException

  Specified by:
    `output` in class `AbstractAjpProcessor<Long>`
  Throws:
    `IOException`

### read

    protected boolean read(int n)
                    throws IOException

  Read at least the specified amount of bytes, and place them in the input buffer.

  Throws:
    `IOException`

### readt

    protected boolean readt(int n,
                            boolean useAvailableData)
                     throws IOException

  Read at least the specified amount of bytes, and place them in the input buffer.

  Throws:
    `IOException`

### receive

    public boolean receive()
                    throws IOException

  Receive a chunk of data. Called to implement the 'special' packet in ajp13 and to receive the data after we send a GET_BODY packet

  Specified by:
    `receive` in class `AbstractAjpProcessor<Long>`
  Throws:
    `IOException`

### readMessage

    protected boolean readMessage(AjpMessage message,
                                  boolean first,
                                  boolean useAvailableData)
                           throws IOException

  Read an AJP message.

  Parameters:
    `first` - is true if the message is the first in the request, which will cause a short duration blocking read
  Returns:
    true if the message has been read, false if the short read didn't return anything
  Throws:
    `IOException` - any other failure, including incomplete reads

### recycle

    public void recycle(boolean socketClosing)

  Recycle the processor.

  Specified by:
    `recycle` in interface `Processor<Long>`
  Overrides:
    `recycle` in class `AbstractAjpProcessor<Long>`
  Parameters:
    `socketClosing` - Indicates if the socket is about to be closed allowing the processor to perform any additional clean-up that may be required

Overview | Package | Class | Tree | Deprecated | Index | Help
| Apache Tomcat 7.0.29
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.