Class AbstractHTTP2ServerConnectionFactory

All Implemented Interfaces:
ConnectionFactory, Container, Destroyable, Dumpable, Dumpable.DumpableContainer, LifeCycle
Direct Known Subclasses:
HTTP2ServerConnectionFactory, RawHTTP2ServerConnectionFactory

@ManagedObject public abstract class AbstractHTTP2ServerConnectionFactory extends AbstractConnectionFactory
  • Constructor Details

    • AbstractHTTP2ServerConnectionFactory

      public AbstractHTTP2ServerConnectionFactory(@Name("config") HttpConfiguration httpConfiguration)
    • AbstractHTTP2ServerConnectionFactory

      protected AbstractHTTP2ServerConnectionFactory(@Name("config") HttpConfiguration httpConfiguration, @Name("protocols") String... protocols)
  • Method Details

    • getMaxEncoderTableCapacity

      @ManagedAttribute("The HPACK encoder dynamic table maximum capacity") public int getMaxEncoderTableCapacity()
    • setMaxEncoderTableCapacity

      public void setMaxEncoderTableCapacity(int maxEncoderTableCapacity)

      Sets the limit for the encoder HPACK dynamic table capacity.

      Setting this value to 0 disables the use of the dynamic table.

      Parameters:
      maxEncoderTableCapacity - The HPACK encoder dynamic table maximum capacity
    • getMaxDecoderTableCapacity

      @ManagedAttribute("The HPACK decoder dynamic table maximum capacity") public int getMaxDecoderTableCapacity()
    • setMaxDecoderTableCapacity

      public void setMaxDecoderTableCapacity(int maxDecoderTableCapacity)
    • getInitialSessionRecvWindow

      @ManagedAttribute("The initial size of session\'s flow control receive window") public int getInitialSessionRecvWindow()
    • setInitialSessionRecvWindow

      public void setInitialSessionRecvWindow(int initialSessionRecvWindow)
    • getInitialStreamRecvWindow

      @ManagedAttribute("The initial size of stream\'s flow control receive window") public int getInitialStreamRecvWindow()
    • setInitialStreamRecvWindow

      public void setInitialStreamRecvWindow(int initialStreamRecvWindow)
    • getMaxConcurrentStreams

      @ManagedAttribute("The max number of concurrent streams per session") public int getMaxConcurrentStreams()
    • setMaxConcurrentStreams

      public void setMaxConcurrentStreams(int maxConcurrentStreams)
    • getMaxHeaderBlockFragment

      @ManagedAttribute("The max header block fragment") public int getMaxHeaderBlockFragment()
    • setMaxHeaderBlockFragment

      public void setMaxHeaderBlockFragment(int maxHeaderBlockFragment)
    • getFlowControlStrategyFactory

      public FlowControlStrategy.Factory getFlowControlStrategyFactory()
    • setFlowControlStrategyFactory

      public void setFlowControlStrategyFactory(FlowControlStrategy.Factory flowControlStrategyFactory)
    • getStreamIdleTimeout

      @ManagedAttribute("The stream idle timeout in milliseconds") public long getStreamIdleTimeout()
    • setStreamIdleTimeout

      public void setStreamIdleTimeout(long streamIdleTimeout)

      Sets the HTTP/2 stream idle timeout.

      Value -1 disables the idle timeout, value 0 implies using the default idle timeout, positive values specify the idle timeout in milliseconds.

      Parameters:
      streamIdleTimeout - the idle timeout in milliseconds, 0 for the default, -1 to disable the idle timeout
    • getMaxFrameSize

      @ManagedAttribute("The max frame size in bytes") public int getMaxFrameSize()
    • setMaxFrameSize

      public void setMaxFrameSize(int maxFrameSize)
    • getMaxSettingsKeys

      @ManagedAttribute("The max number of keys in all SETTINGS frames") public int getMaxSettingsKeys()
    • setMaxSettingsKeys

      public void setMaxSettingsKeys(int maxSettingsKeys)
    • isConnectProtocolEnabled

      @ManagedAttribute("Whether CONNECT requests supports a protocol") public boolean isConnectProtocolEnabled()
    • setConnectProtocolEnabled

      public void setConnectProtocolEnabled(boolean connectProtocolEnabled)
    • getRateControlFactory

      public RateControl.Factory getRateControlFactory()
      Returns:
      the factory that creates RateControl objects
    • setRateControlFactory

      public void setRateControlFactory(RateControl.Factory rateControlFactory)

      Sets the factory that creates a per-connection RateControl object.

      Parameters:
      rateControlFactory - the factory that creates RateControl objects
    • isUseInputDirectByteBuffers

      @ManagedAttribute("Whether to use direct ByteBuffers for reading") public boolean isUseInputDirectByteBuffers()
    • setUseInputDirectByteBuffers

      public void setUseInputDirectByteBuffers(boolean useInputDirectByteBuffers)
    • isUseOutputDirectByteBuffers

      @ManagedAttribute("Whether to use direct ByteBuffers for writing") public boolean isUseOutputDirectByteBuffers()
    • setUseOutputDirectByteBuffers

      public void setUseOutputDirectByteBuffers(boolean useOutputDirectByteBuffers)
    • getHttpConfiguration

      public HttpConfiguration getHttpConfiguration()
    • newSettings

      protected Map<Integer,Integer> newSettings()
    • newConnection

      public Connection newConnection(Connector connector, EndPoint endPoint)
      Description copied from interface: ConnectionFactory

      Creates a new Connection with the given parameters

      Parameters:
      connector - The Connector creating this connection
      endPoint - the EndPoint associated with the connection
      Returns:
      a new Connection
    • newSessionListener

      protected abstract ServerSessionListener newSessionListener(Connector connector, EndPoint endPoint)