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 connections
Not a proper open listener as such, but more a mechanism for selecting between them.
- Author:
- Stuart Douglas
-
Nested Class Summary
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionAlpnOpenListener(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
Modifier and TypeMethodDescriptionaddProtocol(String name, DelegateOpenListener listener, int weight) voidClose all active connections that were handled by this listenerstatic booleanengineSupportsHTTP2(SSLEngine engine) org.xnio.OptionMapvoidhandleEvent(org.xnio.StreamConnection channel) voidsetRootHandler(HttpHandler rootHandler) Sets the root handlervoidsetUndertowOptions(org.xnio.OptionMap undertowOptions)
-
Field Details
-
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:
-
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:
-
-
Constructor Details
-
AlpnOpenListener
public AlpnOpenListener(org.xnio.Pool<ByteBuffer> bufferPool, org.xnio.OptionMap undertowOptions, DelegateOpenListener httpListener) -
AlpnOpenListener
-
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
-
AlpnOpenListener
-
AlpnOpenListener
public AlpnOpenListener(ByteBufferPool bufferPool, org.xnio.OptionMap undertowOptions, String fallbackProtocol, DelegateOpenListener fallbackListener)
-
-
Method Details
-
getRootHandler
- Specified by:
getRootHandlerin interfaceOpenListener- Returns:
- The first handler that will be executed by requests on the connector
-
setRootHandler
Description copied from interface:OpenListenerSets the root handler- Specified by:
setRootHandlerin interfaceOpenListener- Parameters:
rootHandler- The new root handler
-
getUndertowOptions
public org.xnio.OptionMap getUndertowOptions()- Specified by:
getUndertowOptionsin interfaceOpenListener- Returns:
- The connector options
-
setUndertowOptions
public void setUndertowOptions(org.xnio.OptionMap undertowOptions) - Specified by:
setUndertowOptionsin interfaceOpenListener- Parameters:
undertowOptions- The connector options
-
getBufferPool
- Specified by:
getBufferPoolin interfaceOpenListener- Returns:
- The buffer pool in use by this connector
-
getConnectorStatistics
- Specified by:
getConnectorStatisticsin interfaceOpenListener- Returns:
- The connector statistics, or null if statistics gathering is disabled.
-
closeConnections
public void closeConnections()Description copied from interface:OpenListenerClose all active connections that were handled by this listener- Specified by:
closeConnectionsin interfaceOpenListener
-
addProtocol
-
handleEvent
public void handleEvent(org.xnio.StreamConnection channel) - Specified by:
handleEventin interfaceorg.xnio.ChannelListener<org.xnio.StreamConnection>
-
engineSupportsHTTP2
-