Class 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
    • 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)
      • AlpnOpenListener

        public AlpnOpenListener​(ByteBufferPool bufferPool,
                                org.xnio.OptionMap undertowOptions)
    • Method Detail

      • getRootHandler

        public HttpHandler getRootHandler()
        Specified by:
        getRootHandler in interface OpenListener
        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 interface OpenListener
        Parameters:
        rootHandler - The new root handler
      • getUndertowOptions

        public org.xnio.OptionMap getUndertowOptions()
        Specified by:
        getUndertowOptions in interface OpenListener
        Returns:
        The connector options
      • setUndertowOptions

        public void setUndertowOptions​(org.xnio.OptionMap undertowOptions)
        Specified by:
        setUndertowOptions in interface OpenListener
        Parameters:
        undertowOptions - The connector options
      • closeConnections

        public void closeConnections()
        Description copied from interface: OpenListener
        Close all active connections that were handled by this listener
        Specified by:
        closeConnections in interface OpenListener
      • handleEvent

        public void handleEvent​(org.xnio.StreamConnection channel)
        Specified by:
        handleEvent in interface org.xnio.ChannelListener<org.xnio.StreamConnection>
      • engineSupportsHTTP2

        public static boolean engineSupportsHTTP2​(SSLEngine engine)