| Modifier and Type | Field and Description |
|---|---|
| protected final Adapter | |
| protected final AsyncStateMachine | |
| private volatile long | |
| private volatile long | |
| private ErrorState | errorState
Error state for the request/response currently being processed. |
| private char[] | |
| protected final Request | |
| protected final Response | |
| private static final StringManager | |
| protected volatile SocketWrapperBase | |
| protected volatile SSLSupport | |
| protected final UserDataHelper |
| Access | Constructor and Description |
|---|---|
| public | |
| protected |
| Modifier and Type | Method and Description |
|---|---|
| protected abstract void | |
| public final void | action(ActionCode
Type of the action actionCode, Object Action parameter param)Implements org. Send an action to the connector. |
| public AbstractEndpoint. | |
| protected abstract int | |
| public boolean | checkAsyncTimeoutGeneration()
Implements org. Check to see if the async generation (each cycle of async increments the generation of the AsyncStateMachine) is the same as the generation when the most recent async timeout was triggered. |
| protected abstract void | |
| public final AbstractEndpoint. | dispatch(SocketEvent
The event to process status)Implements abstract org. Process an in-progress request that is not longer in standard HTTP mode. |
| protected abstract AbstractEndpoint. | Returns: The state to return for the socket once the clean-up for the current request has completedPerform any necessary clean-up processing if the dispatch resulted in the completion of processing for the current request. |
| protected void | dispatchNonBlockingRead()
Perform any necessary processing for a non-blocking read before dispatching to the adapter. |
| protected void | doHttpUpgrade(UpgradeToken
Contains all the information necessary for the Processor to process the upgrade upgradeToken)Process an HTTP upgrade. |
| protected void | |
| private void | |
| protected void | |
| protected void | |
| protected abstract void | |
| protected abstract void | |
| protected abstract boolean | Returns: true if data remains to be flushed at the end of methodFlush any pending writes. |
| public Adapter | |
| public long | |
| protected ErrorState | |
| public ByteBuffer | getLeftoverInput()
Implements org. Allows retrieving additional input during the upgrade process. |
| protected boolean | Returns: true if the SocketWrapper should be used to populate the request attributes, otherwise
false.Processors that populate request attributes directly (e.g. AJP) should over-ride this method and return
|
| protected Object | Returns: The ID associated with this request or the empty string if no such ID is definedProtocols that provide per HTTP request IDs (e.g. Stream ID for HTTP/2) should override this method and return the appropriate ID. |
| public Request | |
| protected abstract ServletConnection | Returns: the ServletConnection instance associated with the current request.Protocols must override this method and return an appropriate ServletConnection instance |
| protected final SocketWrapperBase | |
| public UpgradeToken | |
| private void | |
| public boolean | |
| protected boolean | Returns: true if push is supported by this processor, otherwise false.Protocols that support push should override this method and return |
| protected boolean | |
| protected abstract boolean | |
| protected abstract boolean | |
| protected abstract boolean | |
| protected boolean | Returns: true if trailer fields are supported by this processor, otherwise false.Protocols that support trailer fields should override this method and return |
| public boolean | isUpgrade()
Implements org. Processors that implement HTTP upgrade must override this method. |
| protected final void | logAccess(SocketWrapperBase<?>
The connection to process socketWrapper)Overrides org. Add an entry to the access log for a failed connection attempt. |
| protected void | |
| protected void | |
| protected void | |
| protected void | |
| protected void | populateSslRequestAttributes()
Populate the TLS related request attributes from the |
| protected abstract void | |
| protected void | |
| public void | recycle()
Implements org. Recycle the processor, ready for the next request which may be on the same connection or a different connection. |
| protected abstract void | |
| public void | |
| protected void | setErrorState(ErrorState
The error status details errorState, Throwable The error which occurred t)Update the current error state to the new error state if the new error state is more severe than the current error state. |
| protected abstract void | |
| protected void | setSocketWrapper(SocketWrapperBase<?>
The socket wrapper socketWrapper)Set the socket wrapper being used. |
| public final void | setSslSupport(SSLSupport
The SSL support object to use for this connection sslSupport)Implements org. Set the SSL information for this HTTP connection. |
| protected abstract void | |
| protected void | sslReHandShake()
Processors that can perform a TLS re-handshake (e.g. HTTP/1.1) should override this method and implement the re-handshake. |
| public void | timeoutAsync(long
The time (as returned by now)System#currentTimeMillis() to use as the current time to determine
whether the timeout has expired. If negative, the timeout will always be treated as ifq it has
expired.Implements org. Check this processor to see if the timeout has expired and process a timeout if that is that case. |
| adapter | back to summary |
|---|---|
| protected final Adapter adapter | |
| asyncStateMachine | back to summary |
|---|---|
| protected final AsyncStateMachine asyncStateMachine | |
| asyncTimeout | back to summary |
|---|---|
| private volatile long asyncTimeout | |
| asyncTimeoutGeneration | back to summary |
|---|---|
| private volatile long asyncTimeoutGeneration | |
| errorState | back to summary |
|---|---|
| private ErrorState errorState Error state for the request/response currently being processed. | |
| hostNameC | back to summary |
|---|---|
| private char[] hostNameC | |
| request | back to summary |
|---|---|
| protected final Request request | |
| response | back to summary |
|---|---|
| protected final Response response | |
| sm | back to summary |
|---|---|
| private static final StringManager sm | |
| socketWrapper | back to summary |
|---|---|
| protected volatile SocketWrapperBase<?> socketWrapper | |
| sslSupport | back to summary |
|---|---|
| protected volatile SSLSupport sslSupport | |
| userDataHelper | back to summary |
|---|---|
| protected final UserDataHelper userDataHelper | |
| AbstractProcessor | back to summary |
|---|---|
| public AbstractProcessor(Adapter adapter) | |
| AbstractProcessor | back to summary |
|---|---|
| protected AbstractProcessor(Adapter adapter, Request coyoteRequest, Response coyoteResponse) | |
| ack | back to summary |
|---|---|
| protected abstract void ack(ContinueResponseTiming continueResponseTiming) | |
| action | back to summary |
|---|---|
| public final void action(ActionCode actionCode, Object param) Implements org. Doc from org. Send an action to the connector.
| |
| asyncPostProcess | back to summary |
|---|---|
| public AbstractEndpoint. Implements abstract org.
| |
| available | back to summary |
|---|---|
| protected abstract int available(boolean doRead) | |
| checkAsyncTimeoutGeneration | back to summary |
|---|---|
| public boolean checkAsyncTimeoutGeneration() Implements org. Doc from org. Check to see if the async generation (each cycle of async increments the generation of the AsyncStateMachine) is the same as the generation when the most recent async timeout was triggered. This is intended to be used to avoid unnecessary processing.
| |
| disableSwallowRequest | back to summary |
|---|---|
| protected abstract void disableSwallowRequest() | |
| dispatch | back to summary |
|---|---|
| public final AbstractEndpoint. Implements abstract org. Doc from org. Process an in-progress request that is not longer in standard HTTP mode. Uses currently include Servlet 3.0 Async and HTTP upgrade connections. Further uses may be added in the future. These will typically start as HTTP requests.
| |
| dispatchEndRequest | back to summary |
|---|---|
| protected abstract AbstractEndpoint. Perform any necessary clean-up processing if the dispatch resulted in the completion of processing for the current request.
| |
| dispatchNonBlockingRead | back to summary |
|---|---|
| protected void dispatchNonBlockingRead() Perform any necessary processing for a non-blocking read before dispatching to the adapter. | |
| doHttpUpgrade | back to summary |
|---|---|
| protected void doHttpUpgrade(UpgradeToken upgradeToken) Process an HTTP upgrade. Processors that support HTTP upgrade should override this method and process the provided token.
| |
| doPush | back to summary |
|---|---|
| protected void doPush(Request pushTarget) Process a push. Processors that support push should override this method and process the provided token.
| |
| doTimeoutAsync | back to summary |
|---|---|
| private void doTimeoutAsync() | |
| execute | back to summary |
|---|---|
| protected void execute(Runnable runnable) Provides a mechanism to trigger processing on a container thread.
| |
| executeDispatches | back to summary |
|---|---|
| protected void executeDispatches() | |
| finishResponse | back to summary |
|---|---|
| protected abstract void finishResponse() throws IOException | |
| flush | back to summary |
|---|---|
| protected abstract void flush() throws IOException | |
| flushBufferedWrite | back to summary |
|---|---|
| protected abstract boolean flushBufferedWrite() throws IOException Flush any pending writes. Used during non-blocking writes to flush any remaining data from a previous incomplete write.
| |
| getAdapter | back to summary |
|---|---|
| public Adapter getAdapter() Get the associated adapter.
| |
| getAsyncTimeout | back to summary |
|---|---|
| public long getAsyncTimeout() | |
| getErrorState | back to summary |
|---|---|
| protected ErrorState getErrorState() | |
| getLeftoverInput | back to summary |
|---|---|
| public ByteBuffer getLeftoverInput() Implements org. Doc from org. Allows retrieving additional input during the upgrade process. Processors that implement HTTP upgrade must override this method.
| |
| getPopulateRequestAttributesFromSocket | back to summary |
|---|---|
| protected boolean getPopulateRequestAttributesFromSocket() Processors that populate request attributes directly (e.g. AJP) should over-ride this method and return
| |
| getProtocolRequestId | back to summary |
|---|---|
| protected Object getProtocolRequestId() Protocols that provide per HTTP request IDs (e.g. Stream ID for HTTP/2) should override this method and return the appropriate ID.
| |
| getRequest | back to summary |
|---|---|
| public Request getRequest() Implements org.
| |
| getServletConnection | back to summary |
|---|---|
| protected abstract ServletConnection getServletConnection() Protocols must override this method and return an appropriate ServletConnection instance
| |
| getSocketWrapper | back to summary |
|---|---|
protected final SocketWrapperBase
| |
| getUpgradeToken | back to summary |
|---|---|
| public UpgradeToken getUpgradeToken() Implements org. Doc from org. Generate an upgrade token. Processors that implement HTTP upgrade must override this method and provide the necessary token.
| |
| handleIOException | back to summary |
|---|---|
| private void handleIOException(IOException ioe) | |
| isAsync | back to summary |
|---|---|
| public boolean isAsync() Implements org.
| |
| isPushSupported | back to summary |
|---|---|
| protected boolean isPushSupported() Protocols that support push should override this method and return
| |
| isReadyForRead | back to summary |
|---|---|
| protected boolean isReadyForRead() | |
| isReadyForWrite | back to summary |
|---|---|
| protected abstract boolean isReadyForWrite() | |
| isRequestBodyFullyRead | back to summary |
|---|---|
| protected abstract boolean isRequestBodyFullyRead() | |
| isTrailerFieldsReady | back to summary |
|---|---|
| protected abstract boolean isTrailerFieldsReady() | |
| isTrailerFieldsSupported | back to summary |
|---|---|
| protected boolean isTrailerFieldsSupported() Protocols that support trailer fields should override this method and return
| |
| isUpgrade | back to summary |
|---|---|
| public boolean isUpgrade() Implements org. Processors that implement HTTP upgrade must override this method.
| |
| logAccess | back to summary |
|---|---|
| protected final void logAccess(SocketWrapperBase<?> socketWrapper) throws IOException Overrides org. Doc from org. Add an entry to the access log for a failed connection attempt.
| |
| parseHost | back to summary |
|---|---|
| protected void parseHost(MessageBytes valueMB) | |
| populateHost | back to summary |
|---|---|
| protected void populateHost() Called when a host header is not present in the request (e.g. HTTP/1.0). It populates the server name with appropriate information. The source is expected to vary by protocol. The default implementation is a NO-OP. | |
| populatePort | back to summary |
|---|---|
| protected void populatePort() Called when a host header is not present or is empty in the request (e.g. HTTP/1.0). It populates the server port with appropriate information. The source is expected to vary by protocol. The default implementation is a NO-OP. | |
| populateRequestAttributeRemoteHost | back to summary |
|---|---|
| protected void populateRequestAttributeRemoteHost() Populate the remote host request attribute. Processors (e.g. AJP) that populate this from an alternative source should override this method. | |
| populateSslRequestAttributes | back to summary |
|---|---|
| protected void populateSslRequestAttributes() Populate the TLS related request attributes from the | |
| prepareResponse | back to summary |
|---|---|
| protected abstract void prepareResponse() throws IOException | |
| processSocketEvent | back to summary |
|---|---|
| protected void processSocketEvent(SocketEvent event, boolean dispatch) | |
| recycle | back to summary |
|---|---|
| public void recycle() Implements org. Doc from org. Recycle the processor, ready for the next request which may be on the same connection or a different connection.
| |
| registerReadInterest | back to summary |
|---|---|
| protected abstract void registerReadInterest() | |
| setAsyncTimeout | back to summary |
|---|---|
| public void setAsyncTimeout(long timeout) | |
| setErrorState | back to summary |
|---|---|
| protected void setErrorState(ErrorState errorState, Throwable t) Update the current error state to the new error state if the new error state is more severe than the current error state.
| |
| setRequestBody | back to summary |
|---|---|
| protected abstract void setRequestBody(ByteChunk body) | |
| setSocketWrapper | back to summary |
|---|---|
| protected void setSocketWrapper(SocketWrapperBase<?> socketWrapper) Set the socket wrapper being used.
| |
| setSslSupport | back to summary |
|---|---|
| public final void setSslSupport(SSLSupport sslSupport) Implements org. Doc from org. Set the SSL information for this HTTP connection.
| |
| setSwallowResponse | back to summary |
|---|---|
| protected abstract void setSwallowResponse() | |
| sslReHandShake | back to summary |
|---|---|
| protected void sslReHandShake() throws IOException Processors that can perform a TLS re-handshake (e.g. HTTP/1.1) should override this method and implement the re-handshake.
| |
| timeoutAsync | back to summary |
|---|---|
| public void timeoutAsync(long now) Implements org. Doc from org. Check this processor to see if the timeout has expired and process a timeout if that is that case. Note The name of this method originated with the Servlet 3.0 asynchronous processing but evolved over time to represent a timeout that is triggered independently of the socket read/write timeouts. Sub-classes of this base class represent a single request/response pair. The timeout to be processed is, therefore, the Servlet asynchronous processing timeout.
| |