Apache Tomcat 7.0.19

org.apache.coyote.http11
Class Http11NioProcessor

java.lang.Object
  extended by org.apache.coyote.AbstractProcessor<S>
      extended by org.apache.coyote.http11.AbstractHttp11Processor<NioChannel>
          extended by org.apache.coyote.http11.Http11NioProcessor
All Implemented Interfaces:
ActionHook, Processor

public class Http11NioProcessor
extends AbstractHttp11Processor<NioChannel>

Processes HTTP requests.

Author:
Remy Maucherat, Filip Hanik

Field Summary
protected  boolean cometClose
          Closed flag, a Comet async thread can signal for this Nio processor to be closed and recycled instead of waiting for a timeout.
protected  InternalNioInputBuffer inputBuffer
          Input.
protected  InternalNioOutputBuffer outputBuffer
          Output.
protected  NioEndpoint.SendfileData sendfileData
          Sendfile data.
protected  NioChannel socket
          Socket associated with the current connection.
protected  SSLSupport sslSupport
          SSL information.
 
Fields inherited from class org.apache.coyote.http11.AbstractHttp11Processor
comet, compressableMimeTypes, compressionLevel, compressionMinSize, connectionUploadTimeout, contentDelimitation, disableUploadTimeout, error, expectation, hostNameC, http09, http11, keepAlive, keepAliveTimeout, localAddr, localName, localPort, maxKeepAliveRequests, maxSavePostSize, noCompressionUserAgents, remoteAddr, remoteHost, remotePort, restrictedUserAgents, server, sm, socketBuffer
 
Fields inherited from class org.apache.coyote.AbstractProcessor
adapter, asyncStateMachine, endpoint, request, response
 
Constructor Summary
Http11NioProcessor(int maxHttpHeaderSize, NioEndpoint endpoint, int maxTrailerSize)
           
 
Method Summary
 void actionInternal(ActionCode actionCode, Object param)
          Send an action to the connector.
 AbstractEndpoint.Handler.SocketState event(SocketStatus status)
          Process pipelined HTTP requests using the specified input and output streams.
protected  AbstractInputBuffer getInputBuffer()
          Exposes input buffer to super class to allow better code re-use.
protected  Log getLog()
           
protected  AbstractOutputBuffer getOutputBuffer()
          Exposes output buffer to super class to allow better code re-use.
protected  void prepareRequestInternal()
          Connector implementation specific request preparation.
protected  boolean prepareSendfile(OutputFilter[] outputFilters)
           
 AbstractEndpoint.Handler.SocketState process(SocketWrapper<NioChannel> socket)
          Process pipelined HTTP requests using the specified input and output streams.
 void recycleInternal()
           
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.
 void setSslSupport(SSLSupport sslSupport)
          Set the SSL information for this HTTP connection.
 
Methods inherited from class org.apache.coyote.http11.AbstractHttp11Processor
action, addCompressableMimeType, addInputFilter, asyncDispatch, endRequest, findBytes, getCompression, getConnectionUploadTimeout, getDisableUploadTimeout, getKeepAliveTimeout, getMaxKeepAliveRequests, getMaxSavePostSize, getServer, getSocketBuffer, initializeFilters, isComet, parseHost, prepareRequest, recycle, setCompressableMimeTypes, setCompressableMimeTypes, setCompression, setCompressionMinSize, setConnectionUploadTimeout, setDisableUploadTimeout, setKeepAliveTimeout, setMaxKeepAliveRequests, setMaxSavePostSize, setNoCompressionUserAgents, setRestrictedUserAgents, setServer, setSocketBuffer, statusDropsConnection
 
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

sslSupport

protected SSLSupport sslSupport
SSL information.


inputBuffer

protected InternalNioInputBuffer inputBuffer
Input.


outputBuffer

protected InternalNioOutputBuffer outputBuffer
Output.


sendfileData

protected NioEndpoint.SendfileData sendfileData
Sendfile data.


cometClose

protected boolean cometClose
Closed flag, a Comet async thread can signal for this Nio processor to be closed and recycled instead of waiting for a timeout. Closed by HttpServletResponse.getWriter().close()


socket

protected NioChannel socket
Socket associated with the current connection.

Constructor Detail

Http11NioProcessor

public Http11NioProcessor(int maxHttpHeaderSize,
                          NioEndpoint endpoint,
                          int maxTrailerSize)
Method Detail

getLog

protected Log getLog()
Specified by:
getLog in class AbstractHttp11Processor<NioChannel>

event

public AbstractEndpoint.Handler.SocketState event(SocketStatus status)
                                           throws IOException
Process pipelined HTTP requests using the specified input and output streams.

Specified by:
event in class AbstractProcessor<NioChannel>
Throws:
IOException - error during an I/O operation

resetTimeouts

protected void resetTimeouts()
Description copied from class: AbstractHttp11Processor
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.

Specified by:
resetTimeouts in class AbstractHttp11Processor<NioChannel>

process

public AbstractEndpoint.Handler.SocketState process(SocketWrapper<NioChannel> socket)
                                             throws IOException
Process pipelined HTTP requests using the specified input and output streams.

Specified by:
process in class AbstractProcessor<NioChannel>
Throws:
IOException - error during an I/O operation

recycleInternal

public void recycleInternal()
Specified by:
recycleInternal in class AbstractHttp11Processor<NioChannel>

actionInternal

public void actionInternal(ActionCode actionCode,
                           Object param)
Send an action to the connector.

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

prepareRequestInternal

protected void prepareRequestInternal()
Description copied from class: AbstractHttp11Processor
Connector implementation specific request preparation. Ideally, this will go away in the future.

Specified by:
prepareRequestInternal in class AbstractHttp11Processor<NioChannel>

prepareSendfile

protected boolean prepareSendfile(OutputFilter[] outputFilters)

getInputBuffer

protected AbstractInputBuffer getInputBuffer()
Description copied from class: AbstractHttp11Processor
Exposes input buffer to super class to allow better code re-use.

Specified by:
getInputBuffer in class AbstractHttp11Processor<NioChannel>
Returns:
The input buffer used by the processor.

getOutputBuffer

protected AbstractOutputBuffer getOutputBuffer()
Description copied from class: AbstractHttp11Processor
Exposes output buffer to super class to allow better code re-use.

Specified by:
getOutputBuffer in class AbstractHttp11Processor<NioChannel>
Returns:
The output buffer used by the processor.

setSslSupport

public void setSslSupport(SSLSupport sslSupport)
Set the SSL information for this HTTP connection.


Apache Tomcat 7.0.19

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