Package org.apache.coyote
Interface ProtocolHandler
-
- All Known Implementing Classes:
AbstractAjpProtocol,AbstractHttp11JsseProtocol,AbstractHttp11Protocol,AbstractProtocol,AjpAprProtocol,AjpNio2Protocol,AjpNioProtocol,Http11AprProtocol,Http11Nio2Protocol,Http11NioProtocol
public interface ProtocolHandlerAbstract the protocol implementation, including threading, etc. This is the main interface to be implemented by a coyote protocol. Adapter is the main interface to be implemented by a coyote servlet container.- Author:
- Remy Maucherat, Costin Manolache
- See Also:
Adapter
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddSslHostConfig(SSLHostConfig sslHostConfig)Add a new SSL configuration for a virtual host.voidaddUpgradeProtocol(UpgradeProtocol upgradeProtocol)Add a new protocol for used by HTTP/1.1 upgrade or ALPN.voidcloseServerSocketGraceful()voiddestroy()Destroy the protocol (optional).SSLHostConfig[]findSslHostConfigs()Find all configured SSL virtual host configurations which will be used by SNI.UpgradeProtocol[]findUpgradeProtocols()Return all configured upgrade protocols.AdaptergetAdapter()Return the adapter associated with the protocol handler.java.util.concurrent.ExecutorgetExecutor()The executor, provide access to the underlying thread pool.java.util.concurrent.ScheduledExecutorServicegetUtilityExecutor()Get the utility executor that should be used by the protocol handler.voidinit()Initialise the protocol.booleanisAprRequired()Requires APR/native librarybooleanisSendfileSupported()Does this ProtocolHandler support sendfile?voidpause()Pause the protocol (optional).voidresume()Resume the protocol (optional).voidsetAdapter(Adapter adapter)The adapter, used to call the connector.voidsetExecutor(java.util.concurrent.Executor executor)Set the optional executor that will be used by the connector.voidsetUtilityExecutor(java.util.concurrent.ScheduledExecutorService utilityExecutor)Set the utility executor that should be used by the protocol handler.voidstart()Start the protocol.voidstop()Stop the protocol.
-
-
-
Method Detail
-
getAdapter
Adapter getAdapter()
Return the adapter associated with the protocol handler.- Returns:
- the adapter
-
setAdapter
void setAdapter(Adapter adapter)
The adapter, used to call the connector.- Parameters:
adapter- The adapter to associate
-
getExecutor
java.util.concurrent.Executor getExecutor()
The executor, provide access to the underlying thread pool.- Returns:
- The executor used to process requests
-
setExecutor
void setExecutor(java.util.concurrent.Executor executor)
Set the optional executor that will be used by the connector.- Parameters:
executor- the executor
-
getUtilityExecutor
java.util.concurrent.ScheduledExecutorService getUtilityExecutor()
Get the utility executor that should be used by the protocol handler.- Returns:
- the executor
-
setUtilityExecutor
void setUtilityExecutor(java.util.concurrent.ScheduledExecutorService utilityExecutor)
Set the utility executor that should be used by the protocol handler.- Parameters:
utilityExecutor- the executor
-
init
void init() throws java.lang.Exception
Initialise the protocol.- Throws:
java.lang.Exception- If the protocol handler fails to initialise
-
start
void start() throws java.lang.ExceptionStart the protocol.- Throws:
java.lang.Exception- If the protocol handler fails to start
-
pause
void pause() throws java.lang.ExceptionPause the protocol (optional).- Throws:
java.lang.Exception- If the protocol handler fails to pause
-
resume
void resume() throws java.lang.ExceptionResume the protocol (optional).- Throws:
java.lang.Exception- If the protocol handler fails to resume
-
stop
void stop() throws java.lang.Exception
Stop the protocol.- Throws:
java.lang.Exception- If the protocol handler fails to stop
-
destroy
void destroy() throws java.lang.ExceptionDestroy the protocol (optional).- Throws:
java.lang.Exception- If the protocol handler fails to destroy
-
closeServerSocketGraceful
void closeServerSocketGraceful()
-
isAprRequired
boolean isAprRequired()
Requires APR/native library- Returns:
trueif this Protocol Handler requires the APR/native library, otherwisefalse
-
isSendfileSupported
boolean isSendfileSupported()
Does this ProtocolHandler support sendfile?- Returns:
trueif this Protocol Handler supports sendfile, otherwisefalse
-
addSslHostConfig
void addSslHostConfig(SSLHostConfig sslHostConfig)
Add a new SSL configuration for a virtual host.- Parameters:
sslHostConfig- the configuration
-
findSslHostConfigs
SSLHostConfig[] findSslHostConfigs()
Find all configured SSL virtual host configurations which will be used by SNI.- Returns:
- the configurations
-
addUpgradeProtocol
void addUpgradeProtocol(UpgradeProtocol upgradeProtocol)
Add a new protocol for used by HTTP/1.1 upgrade or ALPN.- Parameters:
upgradeProtocol- the protocol
-
findUpgradeProtocols
UpgradeProtocol[] findUpgradeProtocols()
Return all configured upgrade protocols.- Returns:
- the protocols
-
-