Package io.undertow.server.protocol.http
Class AlpnOpenListener
- java.lang.Object
-
- io.undertow.server.protocol.http.AlpnOpenListener
-
- All Implemented Interfaces:
OpenListener
,EventListener
,org.xnio.ChannelListener<org.xnio.StreamConnection>
public class AlpnOpenListener extends Object implements org.xnio.ChannelListener<org.xnio.StreamConnection>, OpenListener
Open listener adaptor for ALPN connectionsNot a proper open listener as such, but more a mechanism for selecting between them.
- Author:
- Stuart Douglas
-
-
Field Summary
Fields Modifier and Type Field Description static String
IBM_REQUIRED_CIPHER
Names of ciphers in IBM JVM are prefixed with `SSL` instead of `TLS`, see e.g.: https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.0.0/com.ibm.mq.dev.doc/q113210_.htm.static String
REQUIRED_CIPHER
HTTP/2 required cipher.
-
Constructor Summary
Constructors Constructor Description AlpnOpenListener(ByteBufferPool bufferPool)
AlpnOpenListener(ByteBufferPool bufferPool, org.xnio.OptionMap undertowOptions)
AlpnOpenListener(ByteBufferPool bufferPool, org.xnio.OptionMap undertowOptions, DelegateOpenListener httpListener)
AlpnOpenListener(ByteBufferPool bufferPool, org.xnio.OptionMap undertowOptions, String fallbackProtocol, DelegateOpenListener fallbackListener)
AlpnOpenListener(org.xnio.Pool<ByteBuffer> bufferPool, org.xnio.OptionMap undertowOptions)
AlpnOpenListener(org.xnio.Pool<ByteBuffer> bufferPool, org.xnio.OptionMap undertowOptions, DelegateOpenListener httpListener)
AlpnOpenListener(org.xnio.Pool<ByteBuffer> bufferPool, org.xnio.OptionMap undertowOptions, String fallbackProtocol, DelegateOpenListener fallbackListener)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description AlpnOpenListener
addProtocol(String name, DelegateOpenListener listener, int weight)
void
closeConnections()
Close all active connections that were handled by this listenerstatic boolean
engineSupportsHTTP2(SSLEngine engine)
ByteBufferPool
getBufferPool()
ConnectorStatistics
getConnectorStatistics()
HttpHandler
getRootHandler()
org.xnio.OptionMap
getUndertowOptions()
void
handleEvent(org.xnio.StreamConnection channel)
void
setRootHandler(HttpHandler rootHandler)
Sets the root handlervoid
setUndertowOptions(org.xnio.OptionMap undertowOptions)
-
-
-
Field Detail
-
REQUIRED_CIPHER
public static final String REQUIRED_CIPHER
HTTP/2 required cipher. Not strictly part of ALPN but it can live here for now till we have a better solution.- See Also:
- Constant Field Values
-
IBM_REQUIRED_CIPHER
public static final String IBM_REQUIRED_CIPHER
Names of ciphers in IBM JVM are prefixed with `SSL` instead of `TLS`, see e.g.: https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.0.0/com.ibm.mq.dev.doc/q113210_.htm. Thus let's have IBM alternative for the REQUIRED_CIPHER variable too.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AlpnOpenListener
public AlpnOpenListener(org.xnio.Pool<ByteBuffer> bufferPool, org.xnio.OptionMap undertowOptions, DelegateOpenListener httpListener)
-
AlpnOpenListener
public AlpnOpenListener(org.xnio.Pool<ByteBuffer> bufferPool, org.xnio.OptionMap undertowOptions)
-
AlpnOpenListener
public AlpnOpenListener(org.xnio.Pool<ByteBuffer> bufferPool, org.xnio.OptionMap undertowOptions, String fallbackProtocol, DelegateOpenListener fallbackListener)
-
AlpnOpenListener
public AlpnOpenListener(ByteBufferPool bufferPool, org.xnio.OptionMap undertowOptions, DelegateOpenListener httpListener)
-
AlpnOpenListener
public AlpnOpenListener(ByteBufferPool bufferPool)
-
AlpnOpenListener
public AlpnOpenListener(ByteBufferPool bufferPool, org.xnio.OptionMap undertowOptions)
-
AlpnOpenListener
public AlpnOpenListener(ByteBufferPool bufferPool, org.xnio.OptionMap undertowOptions, String fallbackProtocol, DelegateOpenListener fallbackListener)
-
-
Method Detail
-
getRootHandler
public HttpHandler getRootHandler()
- Specified by:
getRootHandler
in interfaceOpenListener
- Returns:
- The first handler that will be executed by requests on the connector
-
setRootHandler
public void setRootHandler(HttpHandler rootHandler)
Description copied from interface:OpenListener
Sets the root handler- Specified by:
setRootHandler
in interfaceOpenListener
- Parameters:
rootHandler
- The new root handler
-
getUndertowOptions
public org.xnio.OptionMap getUndertowOptions()
- Specified by:
getUndertowOptions
in interfaceOpenListener
- Returns:
- The connector options
-
setUndertowOptions
public void setUndertowOptions(org.xnio.OptionMap undertowOptions)
- Specified by:
setUndertowOptions
in interfaceOpenListener
- Parameters:
undertowOptions
- The connector options
-
getBufferPool
public ByteBufferPool getBufferPool()
- Specified by:
getBufferPool
in interfaceOpenListener
- Returns:
- The buffer pool in use by this connector
-
getConnectorStatistics
public ConnectorStatistics getConnectorStatistics()
- Specified by:
getConnectorStatistics
in interfaceOpenListener
- Returns:
- The connector statistics, or null if statistics gathering is disabled.
-
closeConnections
public void closeConnections()
Description copied from interface:OpenListener
Close all active connections that were handled by this listener- Specified by:
closeConnections
in interfaceOpenListener
-
addProtocol
public AlpnOpenListener addProtocol(String name, DelegateOpenListener listener, int weight)
-
handleEvent
public void handleEvent(org.xnio.StreamConnection channel)
- Specified by:
handleEvent
in interfaceorg.xnio.ChannelListener<org.xnio.StreamConnection>
-
engineSupportsHTTP2
public static boolean engineSupportsHTTP2(SSLEngine engine)
-
-