org.apache.coyote.http11

## Class Http11NioProtocol

- java.lang.Object
- - org.apache.coyote.AbstractProtocol
  - - org.apache.coyote.http11.AbstractHttp11Protocol
    - - org.apache.coyote.http11.AbstractHttp11JsseProtocol
      - - org.apache.coyote.http11.Http11NioProtocol

All Implemented Interfaces:
  MBeanRegistration, ProtocolHandler

    public class Http11NioProtocol
    extends AbstractHttp11JsseProtocol

Abstract the protocol implementation, including threading, etc. Processor is single threaded and specific to stream-based protocols, will not fit Jk protocols like JNI.

Author:
  Remy Maucherat, Costin Manolache, Filip Hanik

### Nested Class Summary

Nested Classes
`protected static class` `Http11NioProtocol.Http11ConnectionHandler`

### Nested classes/interfaces inherited from class org.apache.coyote.AbstractProtocol

`AbstractProtocol.AbstractConnectionHandler<S,P extends Processor<S>>, AbstractProtocol.RecycledProcessors<P extends Processor<S>,S>`

### Field Summary

### Fields inherited from class org.apache.coyote.http11.AbstractHttp11JsseProtocol

`sslImplementation`

### Fields inherited from class org.apache.coyote.http11.AbstractHttp11Protocol

`sm`

### Fields inherited from class org.apache.coyote.AbstractProtocol

`adapter, clientCertProvider, domain, endpoint, mserver, oname, processorCache, rgOname, tpOname`

### Constructor Summary

Constructors
Constructor and Description
`Http11NioProtocol()`

### Method Summary

Methods
`int` `getAcceptorThreadPriority()`
`NioEndpoint` `getEndpoint()`
`protected AbstractEndpoint.Handler` `getHandler()` Obtain the handler associated with the underlying Endpoint
`protected Log` `getLog()` Concrete implementations need to provide access to their logger to be used by the abstract classes.
`protected String` `getNamePrefix()` Obtain the prefix to be used when construction a name for this protocol handler.
`int` `getPollerThreadCount()`
`int` `getPollerThreadPriority()`
`long` `getSelectorTimeout()`
`boolean` `getUseSendfile()`
`void` `setAcceptorThreadPriority(int threadPriority)`
`void` `setOomParachute(int oomParachute)`
`void` `setPollerThreadCount(int count)`
`void` `setPollerThreadPriority(int threadPriority)`
`void` `setSelectorTimeout(long timeout)`
`void` `setUseSendfile(boolean useSendfile)`

### Methods inherited from class org.apache.coyote.http11.AbstractHttp11JsseProtocol

`getAlgorithm, getAllowUnsafeLegacyRenegotiation, getCiphers, getClientAuth, getCrlFile, getKeyAlias, getKeyPass, getKeystoreFile, getKeystorePass, getKeystoreProvider, getKeystoreType, getSessionCacheSize, getSessionTimeout, getSslImplementationName, getSslProtocol, getTrustMaxCertLength, getTruststoreAlgorithm, getTruststoreFile, getTruststorePass, getTruststoreProvider, getTruststoreType, init, setAlgorithm, setAllowUnsafeLegacyRenegotiation, setCiphers, setClientAuth, setCrlFile, setKeyAlias, setKeyPass, setKeystoreFile, setKeystorePass, setKeystoreProvider, setKeystoreType, setSessionCacheSize, setSessionTimeout, setSslImplementationName, setSslProtocol, setTrustMaxCertLength, setTruststoreAlgorithm, setTruststoreFile, setTruststorePass, setTruststoreProvider, setTruststoreType`

### Methods inherited from class org.apache.coyote.http11.AbstractHttp11Protocol

`getCompressableMimeType, getCompressableMimeTypes, getCompression, getCompressionMinSize, getConnectionUploadTimeout, getDisableUploadTimeout, getMaxExtensionSize, getMaxHttpHeaderSize, getMaxKeepAliveRequests, getMaxSavePostSize, getMaxTrailerSize, getNoCompressionUserAgents, getProtocolName, getRestrictedUserAgents, getSecure, getServer, getSocketBuffer, isSSLEnabled, setCompressableMimeType, setCompressableMimeTypes, setCompression, setCompressionMinSize, setConnectionUploadTimeout, setDisableUploadTimeout, setMaxExtensionSize, setMaxHttpHeaderSize, setMaxKeepAliveRequests, setMaxSavePostSize, setMaxTrailerSize, setNoCompressionUserAgents, setRestrictedUserAgents, setSecure, setServer, setSocketBuffer, setSSLEnabled`

### Methods inherited from class org.apache.coyote.AbstractProtocol

`destroy, getAdapter, getAddress, getBacklog, getClientCertProvider, getConnectionCount, getConnectionTimeout, getDomain, getExecutor, getKeepAliveTimeout, getLocalPort, getMaxConnections, getMaxHeaderCount, getMaxThreads, getMinSpareThreads, getName, getNameIndex, getObjectName, getPort, getProcessorCache, getProperty, getSoLinger, getSoTimeout, getTcpNoDelay, getThreadPriority, isAprRequired, pause, postDeregister, postRegister, preDeregister, preRegister, resume, setAdapter, setAddress, setBacklog, setClientCertProvider, setConnectionTimeout, setExecutor, setKeepAliveTimeout, setMaxConnections, setMaxHeaderCount, setMaxThreads, setMinSpareThreads, setPort, setProcessorCache, setProperty, setSoLinger, setSoTimeout, setTcpNoDelay, setThreadPriority, start, stop`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### Http11NioProtocol

    public Http11NioProtocol()

### Method Detail

#### getLog

    protected Log getLog()

Description copied from class: `AbstractProtocol`
Concrete implementations need to provide access to their logger to be used by the abstract classes.

Specified by:
  `getLog` in class `AbstractProtocol`

#### getHandler

    protected AbstractEndpoint.Handler getHandler()

Description copied from class: `AbstractProtocol`
Obtain the handler associated with the underlying Endpoint

Specified by:
  `getHandler` in class `AbstractProtocol`

#### getEndpoint

    public NioEndpoint getEndpoint()

#### setPollerThreadCount

    public void setPollerThreadCount(int count)

#### getPollerThreadCount

    public int getPollerThreadCount()

#### setSelectorTimeout

    public void setSelectorTimeout(long timeout)

#### getSelectorTimeout

    public long getSelectorTimeout()

#### setAcceptorThreadPriority

    public void setAcceptorThreadPriority(int threadPriority)

#### setPollerThreadPriority

    public void setPollerThreadPriority(int threadPriority)

#### getAcceptorThreadPriority

    public int getAcceptorThreadPriority()

#### getPollerThreadPriority

    public int getPollerThreadPriority()

#### getUseSendfile

    public boolean getUseSendfile()

#### setUseSendfile

    public void setUseSendfile(boolean useSendfile)

#### setOomParachute

    public void setOomParachute(int oomParachute)

#### getNamePrefix

    protected String getNamePrefix()

Description copied from class: `AbstractProtocol`
Obtain the prefix to be used when construction a name for this protocol handler. The name will be prefix-address-port.

Specified by:
  `getNamePrefix` in class `AbstractProtocol`