org.apache.coyote.http11

## Class Http11Protocol

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

All Implemented Interfaces:
  MBeanRegistration, ProtocolHandler

    public class Http11Protocol
    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

### Nested Class Summary

Nested Classes
`protected static class` `Http11Protocol.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
`protected Http11Protocol.Http11ConnectionHandler` `cHandler`

### 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
`Http11Protocol()`

### Method Summary

Methods
`int` `getDisableKeepAlivePercentage()`
`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.
`void` `setDisableKeepAlivePercentage(int disableKeepAlivePercentage)`

### 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`

### Field Detail

#### cHandler

    protected Http11Protocol.Http11ConnectionHandler cHandler

### Constructor Detail

#### Http11Protocol

    public Http11Protocol()

### 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`

#### getDisableKeepAlivePercentage

    public int getDisableKeepAlivePercentage()

#### setDisableKeepAlivePercentage

    public void setDisableKeepAlivePercentage(int disableKeepAlivePercentage)

#### 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`