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 AbstractAjpProcessor<S>

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

All Implemented Interfaces:
  ActionHook, Processor<S>

Direct Known Subclasses:
  AjpAprProcessor, AjpNioProcessor, AjpProcessor

    public abstract class AbstractAjpProcessor<S>

extends AbstractProcessor<S>

Base class for AJP Processor implementations.

Nested Class Summary
`protected class` | `AbstractAjpProcessor.SocketInputBuffer` This class is an input buffer which will read its data from an input stream.
`protected class` | `AbstractAjpProcessor.SocketOutputBuffer` This class is an output buffer which will write data to an output stream.

Field Summary
`protected MessageBytes` | `bodyBytes` Body message.
`protected AjpMessage` | `bodyMessage` Body message.
`protected long` | `bytesWritten` Bytes written to client for the current request.
`protected MessageBytes` | `certificates` Byte chunk for certs.
`protected String` | `clientCertProvider` When client certificate information is presented in a form other than instances of `X509Certificate` it needs to be converted before it can be used and this property controls which JSSE provider is used to perform the conversion.
`protected boolean` | `empty` Body empty flag.
`protected static byte[]` | `endAndCloseMessageArray`
`protected static byte[]` | `endMessageArray` End message array.
`protected boolean` | `endOfStream` End of stream flag.
`protected boolean` | `error` Error flag.
`protected boolean` | `finished` Finished response.
`protected boolean` | `first` First read.
`protected static byte[]` | `flushMessageArray` Flush message array.
`protected byte[]` | `getBodyMessageArray` GetBody message array.
`protected char[]` | `hostNameC` Host name (used to avoid useless B2C conversion on the host name).
`protected int` | `keepAliveTimeout` The number of milliseconds Tomcat will wait for a subsequent request before closing the connection.
`protected int` | `packetSize` AJP packet size.
`protected static byte[]` | `pongMessageArray` Pong message array.
`protected boolean` | `replay` Replay read.
`protected AjpMessage` | `requestHeaderMessage` Header message.
`protected String` | `requiredSecret` Required secret.
`protected AjpMessage` | `responseMessage` Message used for response composition.
`protected static StringManager` | `sm` The string manager for this package.
`protected MessageBytes` | `tmpMB` Temp message bytes used for processing.
`protected boolean` | `tomcatAuthentication` Use Tomcat authentication ?

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

Constructor Summary
`AbstractAjpProcessor(int packetSize, AbstractEndpoint endpoint)`

Method Summary
`void` | `action(ActionCode actionCode, Object param)` Send an action to the connector.
`protected abstract void` | `actionInternal(ActionCode actionCode, Object param)`
`AbstractEndpoint.Handler.SocketState` | `asyncDispatch(SocketStatus status)` Process in-progress Servlet 3.0 Async requests.
`AbstractEndpoint.Handler.SocketState` | `event(SocketStatus status)` Process in-progress Comet requests.
`protected void` | `finish()` Finish AJP response.
`protected void` | `flush(boolean explicit)` Callback to write data from the buffer.
`String` | `getClientCertProvider()`
`int` | `getKeepAliveTimeout()`
`protected abstract Log` | `getLog()`
`boolean` | `getTomcatAuthentication()`
`UpgradeInbound` | `getUpgradeInbound()`
`boolean` | `isComet()`
`boolean` | `isUpgrade()`
`protected abstract void` | `output(byte[] src, int offset, int length)`
`protected 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.
`protected abstract boolean` | `receive()`
`void` | `recycle(boolean socketClosing)` Recycle the processor, ready for the next request which may be on the same connection or a different connection.
`protected boolean` | `refillReadBuffer()` Get more request body data from the web server and store it in the internal buffer.
`void` | `setClientCertProvider(String s)`
`void` | `setKeepAliveTimeout(int timeout)`
`void` | `setRequiredSecret(String requiredSecret)`
`void` | `setSslSupport(SSLSupport sslSupport)`
`void` | `setTomcatAuthentication(boolean tomcatAuthentication)`
`AbstractEndpoint.Handler.SocketState` | `upgradeDispatch()` Processes data received on a connection that has been through an HTTP upgrade.

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

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

Field Detail

### sm

    protected static final StringManager sm

  The string manager for this package.

### endMessageArray

    protected static final byte[] endMessageArray

  End message array.

### endAndCloseMessageArray

    protected static final byte[] endAndCloseMessageArray

### flushMessageArray

    protected static final byte[] flushMessageArray

  Flush message array.

### pongMessageArray

    protected static final byte[] pongMessageArray

  Pong message array.

### getBodyMessageArray

    protected final byte[] getBodyMessageArray

  GetBody message array. Not static like the other message arrays since the message varies with packetSize and that can vary per connector.

### packetSize

    protected int packetSize

  AJP packet size.

### requestHeaderMessage

    protected AjpMessage requestHeaderMessage

  Header message. Note that this header is merely the one used during the processing of the first message of a "request", so it might not be a request header. It will stay unchanged during the processing of the whole request.

### responseMessage

    protected AjpMessage responseMessage

  Message used for response composition.

### bodyMessage

    protected AjpMessage bodyMessage

  Body message.

### bodyBytes

    protected MessageBytes bodyBytes

  Body message.

### error

    protected boolean error

  Error flag.

### hostNameC

    protected char[] hostNameC

  Host name (used to avoid useless B2C conversion on the host name).

### tmpMB

    protected MessageBytes tmpMB

  Temp message bytes used for processing.

### certificates

    protected MessageBytes certificates

  Byte chunk for certs.

### endOfStream

    protected boolean endOfStream

  End of stream flag.

### empty

    protected boolean empty

  Body empty flag.

### first

    protected boolean first

  First read.

### replay

    protected boolean replay

  Replay read.

### finished

    protected boolean finished

  Finished response.

### bytesWritten

    protected long bytesWritten

  Bytes written to client for the current request.

### keepAliveTimeout

    protected int keepAliveTimeout

  The number of milliseconds Tomcat will wait for a subsequent request before closing the connection. The default is the same as for Apache HTTP Server (15 000 milliseconds).

### tomcatAuthentication

    protected boolean tomcatAuthentication

  Use Tomcat authentication ?

### requiredSecret

    protected String requiredSecret

  Required secret.

### clientCertProvider

    protected String clientCertProvider

  When client certificate information is presented in a form other than instances of `X509Certificate` it needs to be converted before it can be used and this property controls which JSSE provider is used to perform the conversion. For example it is used with the AJP connectors, the HTTP APR connector and with the `SSLValve`. If not specified, the default provider will be used.

Constructor Detail

### AbstractAjpProcessor

    public AbstractAjpProcessor(int packetSize,
                                AbstractEndpoint endpoint)

Method Detail

### getLog

    protected abstract Log getLog()

### getKeepAliveTimeout

    public int getKeepAliveTimeout()

### setKeepAliveTimeout

    public void setKeepAliveTimeout(int timeout)

### getTomcatAuthentication

    public boolean getTomcatAuthentication()

### setTomcatAuthentication

    public void setTomcatAuthentication(boolean tomcatAuthentication)

### setRequiredSecret

    public void setRequiredSecret(String requiredSecret)

### getClientCertProvider

    public String getClientCertProvider()

### setClientCertProvider

    public void setClientCertProvider(String s)

### action

    public final void action(ActionCode actionCode,
                             Object param)

  Send an action to the connector.

  Parameters:
    `actionCode` - Type of the action
    `param` - Action parameter

### asyncDispatch

    public AbstractEndpoint.Handler.SocketState asyncDispatch(SocketStatus status)

  Description copied from class: `AbstractProcessor`
  Process in-progress Servlet 3.0 Async requests. These will start as HTTP requests.

  Specified by:
    `asyncDispatch` in interface `Processor<S>`
  Specified by:
    `asyncDispatch` in class `AbstractProcessor<S>`

### setSslSupport

    public void setSslSupport(SSLSupport sslSupport)

### event

    public AbstractEndpoint.Handler.SocketState event(SocketStatus status)
                                               throws IOException

  Description copied from class: `AbstractProcessor`
  Process in-progress Comet requests. These will start as HTTP requests.

  Specified by:
    `event` in interface `Processor<S>`
  Specified by:
    `event` in class `AbstractProcessor<S>`
  Throws:
    `IOException`

### upgradeDispatch

    public AbstractEndpoint.Handler.SocketState upgradeDispatch()
                                                         throws IOException

  Description copied from class: `AbstractProcessor`
  Processes data received on a connection that has been through an HTTP upgrade.

  Specified by:
    `upgradeDispatch` in interface `Processor<S>`
  Specified by:
    `upgradeDispatch` in class `AbstractProcessor<S>`
  Throws:
    `IOException`

### getUpgradeInbound

    public UpgradeInbound getUpgradeInbound()

  Specified by:
    `getUpgradeInbound` in interface `Processor<S>`
  Specified by:
    `getUpgradeInbound` in class `AbstractProcessor<S>`

### recycle

    public void recycle(boolean socketClosing)

  Recycle the processor, ready for the next request which may be on the same connection or a different connection.

  Parameters:
    `socketClosing` - Indicates if the socket is about to be closed allowing the processor to perform any additional clean-up that may be required

### actionInternal

    protected abstract void actionInternal(ActionCode actionCode,
                                           Object param)

### output

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

  Throws:
    `IOException`

### receive

    protected abstract boolean receive()
                                throws IOException

  Throws:
    `IOException`

### isComet

    public final boolean isComet()

  Specified by:
    `isComet` in interface `Processor<S>`
  Specified by:
    `isComet` in class `AbstractProcessor<S>`

### isUpgrade

    public final boolean isUpgrade()

  Specified by:
    `isUpgrade` in interface `Processor<S>`
  Specified by:
    `isUpgrade` in class `AbstractProcessor<S>`

### refillReadBuffer

    protected boolean refillReadBuffer()
                                throws IOException

  Get more request body data from the web server and store it in the internal buffer.

  Returns:
    true if there is more data, false if not.
  Throws:
    `IOException`

### prepareRequest

    protected void prepareRequest()

  After reading the request headers, we have to setup the request filters.

### parseHost

    protected void parseHost(MessageBytes valueMB)

  Parse host.

### prepareResponse

    protected void prepareResponse()
                            throws IOException

  When committing the response, we have to validate the set of headers, as well as setup the response filters.

  Throws:
    `IOException`

### flush

    protected void flush(boolean explicit)
                  throws IOException

  Callback to write data from the buffer.

  Throws:
    `IOException`

### finish

    protected void finish()
                   throws IOException

  Finish AJP response.

  Throws:
    `IOException`

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.