Class Http2Protocol

    • Constructor Detail

      • Http2Protocol

        public Http2Protocol()
    • Method Detail

      • getHttpUpgradeName

        public java.lang.String getHttpUpgradeName​(boolean isSSLEnabled)
        Specified by:
        getHttpUpgradeName in interface UpgradeProtocol
        Parameters:
        isSSLEnabled - Is this for a connector that is configured to support TLS. Some protocols (e.g. HTTP/2) only support HTTP upgrade over non-secure connections.
        Returns:
        The name that clients will use to request an upgrade to this protocol via an HTTP/1.1 upgrade request or null if upgrade via an HTTP/1.1 upgrade request is not supported.
      • getAlpnIdentifier

        public byte[] getAlpnIdentifier()
        Specified by:
        getAlpnIdentifier in interface UpgradeProtocol
        Returns:
        The byte sequence as listed in the IANA registry for this protocol or null if upgrade via ALPN is not supported.
      • getProcessor

        public Processor getProcessor​(SocketWrapperBase<?> socketWrapper,
                                      Adapter adapter)
        Specified by:
        getProcessor in interface UpgradeProtocol
        Parameters:
        socketWrapper - The socketWrapper for the connection that requires a processor
        adapter - The Adapter instance that provides access to the standard Engine/Host/Context/Wrapper processing chain
        Returns:
        A processor instance for processing a connection using this protocol.
      • getInternalUpgradeHandler

        public InternalHttpUpgradeHandler getInternalUpgradeHandler​(SocketWrapperBase<?> socketWrapper,
                                                                    Adapter adapter,
                                                                    Request coyoteRequest)
        Specified by:
        getInternalUpgradeHandler in interface UpgradeProtocol
        Parameters:
        socketWrapper - The socket
        adapter - The Adapter to use to configure the new upgrade handler
        coyoteRequest - A copy (may be incomplete) of the request that triggered the upgrade
        Returns:
        An instance of the HTTP upgrade handler for this protocol
      • accept

        public boolean accept​(Request request)
        Description copied from interface: UpgradeProtocol
        Allows the implementation to examine the request and accept or reject it based on what it finds.
        Specified by:
        accept in interface UpgradeProtocol
        Parameters:
        request - The request that included an upgrade header for this protocol
        Returns:
        true if the request is accepted, otherwise false
      • getReadTimeout

        public long getReadTimeout()
      • setReadTimeout

        public void setReadTimeout​(long readTimeout)
      • getWriteTimeout

        public long getWriteTimeout()
      • setWriteTimeout

        public void setWriteTimeout​(long writeTimeout)
      • getKeepAliveTimeout

        public long getKeepAliveTimeout()
      • setKeepAliveTimeout

        public void setKeepAliveTimeout​(long keepAliveTimeout)
      • getStreamReadTimeout

        public long getStreamReadTimeout()
      • setStreamReadTimeout

        public void setStreamReadTimeout​(long streamReadTimeout)
      • getStreamWriteTimeout

        public long getStreamWriteTimeout()
      • setStreamWriteTimeout

        public void setStreamWriteTimeout​(long streamWriteTimeout)
      • getMaxConcurrentStreams

        public long getMaxConcurrentStreams()
      • setMaxConcurrentStreams

        public void setMaxConcurrentStreams​(long maxConcurrentStreams)
      • getMaxConcurrentStreamExecution

        public int getMaxConcurrentStreamExecution()
      • setMaxConcurrentStreamExecution

        public void setMaxConcurrentStreamExecution​(int maxConcurrentStreamExecution)
      • getInitialWindowSize

        public int getInitialWindowSize()
      • setInitialWindowSize

        public void setInitialWindowSize​(int initialWindowSize)
      • getUseSendfile

        public boolean getUseSendfile()
      • setUseSendfile

        public void setUseSendfile​(boolean useSendfile)
      • setMaxHeaderCount

        public void setMaxHeaderCount​(int maxHeaderCount)
      • getMaxHeaderCount

        public int getMaxHeaderCount()
      • getMaxHeaderSize

        public int getMaxHeaderSize()
      • setMaxTrailerCount

        public void setMaxTrailerCount​(int maxTrailerCount)
      • getMaxTrailerCount

        public int getMaxTrailerCount()
      • getMaxTrailerSize

        public int getMaxTrailerSize()
      • getOverheadCountFactor

        public int getOverheadCountFactor()
      • setOverheadCountFactor

        public void setOverheadCountFactor​(int overheadCountFactor)
      • getOverheadContinuationThreshold

        public int getOverheadContinuationThreshold()
      • setOverheadContinuationThreshold

        public void setOverheadContinuationThreshold​(int overheadContinuationThreshold)
      • getOverheadDataThreshold

        public int getOverheadDataThreshold()
      • setOverheadDataThreshold

        public void setOverheadDataThreshold​(int overheadDataThreshold)
      • getOverheadWindowUpdateThreshold

        public int getOverheadWindowUpdateThreshold()
      • setOverheadWindowUpdateThreshold

        public void setOverheadWindowUpdateThreshold​(int overheadWindowUpdateThreshold)
      • setInitiatePingDisabled

        public void setInitiatePingDisabled​(boolean initiatePingDisabled)
      • getInitiatePingDisabled

        public boolean getInitiatePingDisabled()
      • useCompression

        public boolean useCompression​(Request request,
                                      Response response)
      • setHttp11Protocol

        public void setHttp11Protocol​(AbstractHttp11Protocol<?> http11Protocol)
        Description copied from interface: UpgradeProtocol
        Configure the HTTP/1.1 protocol that this UpgradeProcotol is nested under. Connections passed to this UpgradeProtocol via HTTP upgrade will have been initially handled by this HTTP/1.1 protocol implementation.

        The default implementation is a NO-OP.

        Specified by:
        setHttp11Protocol in interface UpgradeProtocol
        Parameters:
        http11Protocol - The HTTP/1.1 protocol implementation that will initially handle any connections passed to this UpgradeProtocol via the HTTP upgrade mechanism
      • getUpgradeProtocolName

        public java.lang.String getUpgradeProtocolName()