Class HTTP3Configuration

java.lang.Object
org.eclipse.jetty.http3.HTTP3Configuration

@ManagedObject public class HTTP3Configuration extends Object

The HTTP/3 configuration parameters.

  • Constructor Details

    • HTTP3Configuration

      public HTTP3Configuration()
  • Method Details

    • getStreamIdleTimeout

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

      public void setStreamIdleTimeout(long streamIdleTimeout)

      Sets the stream idle timeout in milliseconds.

      Negative values and zero mean that the stream never times out.

      Default value is 30 seconds.

      Parameters:
      streamIdleTimeout - the stream idle timeout in milliseconds
    • getInputBufferSize

      @ManagedAttribute("The size of the network input buffer") public int getInputBufferSize()
    • setInputBufferSize

      public void setInputBufferSize(int inputBufferSize)

      Sets the size of the buffer used for QUIC network reads.

      Default value is 2048 bytes.

      Parameters:
      inputBufferSize - the buffer size in bytes
    • getOutputBufferSize

      @ManagedAttribute("The size of the network output buffer") public int getOutputBufferSize()
    • setOutputBufferSize

      public void setOutputBufferSize(int outputBufferSize)

      Sets the size of the buffer used for QUIC network writes.

      Default value is 2048 bytes.

      Parameters:
      outputBufferSize - the buffer size in bytes
    • isUseInputDirectByteBuffers

      @ManagedAttribute("Whether to use direct buffers for network reads") public boolean isUseInputDirectByteBuffers()
    • setUseInputDirectByteBuffers

      public void setUseInputDirectByteBuffers(boolean useInputDirectByteBuffers)

      Sets whether to use direct buffers for QUIC network reads.

      Default value is true.

      Parameters:
      useInputDirectByteBuffers - whether to use direct buffers for network reads
    • isUseOutputDirectByteBuffers

      @ManagedAttribute("Whether to use direct buffers for network writes") public boolean isUseOutputDirectByteBuffers()
    • setUseOutputDirectByteBuffers

      public void setUseOutputDirectByteBuffers(boolean useOutputDirectByteBuffers)

      Sets whether to use direct buffers for QUIC network writes.

      Default value is true.

      Parameters:
      useOutputDirectByteBuffers - whether to use direct buffers for network writes
    • getMaxDecoderTableCapacity

      @ManagedAttribute("The local QPACK max decoder dynamic table capacity") public int getMaxDecoderTableCapacity()
    • setMaxDecoderTableCapacity

      public void setMaxDecoderTableCapacity(int maxTableCapacity)

      Sets the local QPACK decoder max dynamic table capacity.

      The default value is 65536 bytes.

      This value is configured on the local QPACK decoder, and then communicated to the remote QPACK encoder via the SETTINGS frame.

      Parameters:
      maxTableCapacity - the QPACK decoder dynamic table max capacity
      See Also:
    • getMaxEncoderTableCapacity

      @ManagedAttribute("The local QPACK initial encoder dynamic table capacity") public int getMaxEncoderTableCapacity()
    • setMaxEncoderTableCapacity

      public void setMaxEncoderTableCapacity(int maxTableCapacity)

      Sets the local QPACK encoder initial dynamic table capacity.

      The default value is 65536 bytes.

      This value is configured in the local QPACK encoder, and may be overwritten by a smaller value received via the SETTINGS frame.

      Parameters:
      maxTableCapacity - the QPACK encoder dynamic table initial capacity
      See Also:
    • getMaxBlockedStreams

      @ManagedAttribute("The max number of QPACK blocked streams") public int getMaxBlockedStreams()
    • setMaxBlockedStreams

      public void setMaxBlockedStreams(int maxBlockedStreams)

      Sets the local QPACK decoder max number of blocked streams.

      The default value is 64.

      This value is configured in the local QPACK decoder, and then communicated to the remote QPACK encoder via the SETTINGS frame.

      Parameters:
      maxBlockedStreams - the QPACK decoder max blocked streams
    • getMaxRequestHeadersSize

      @ManagedAttribute("The max size of the request headers") public int getMaxRequestHeadersSize()
    • setMaxRequestHeadersSize

      public void setMaxRequestHeadersSize(int maxRequestHeadersSize)

      Sets max request headers size.

      The default value is 8192 bytes.

      This value is configured in the server-side QPACK decoder, and then communicated to the client-side QPACK encoder via the SETTINGS frame.

      The client-side QPACK encoder uses this value to cap, if necessary, the value sent by the server-side QPACK decoder.

      Parameters:
      maxRequestHeadersSize - the max request headers size in bytes
    • getMaxResponseHeadersSize

      @ManagedAttribute("The max size of the response headers") public int getMaxResponseHeadersSize()
    • setMaxResponseHeadersSize

      public void setMaxResponseHeadersSize(int maxResponseHeadersSize)

      Sets max response headers size.

      The default value is 8192 bytes.

      This value is configured in the client-side QPACK decoder, and then communicated to the server-side QPACK encoder via the SETTINGS frame.

      The server-side QPACK encoder uses this value to cap, if necessary, the value sent by the client-side QPACK decoder.

      Parameters:
      maxResponseHeadersSize - the max response headers size