Class QuicEndpointConfig

java.lang.Object
io.vertx.core.net.EndpointConfig
io.vertx.core.net.QuicEndpointConfig
Direct Known Subclasses:
QuicClientConfig, QuicServerConfig

@Unstable public abstract class QuicEndpointConfig extends EndpointConfig
Configuration of a Quic client.
Author:
Julien Viet
  • Field Details

    • DEFAULT_MAX_STREAM_BIDI_REQUESTS

      public static final int DEFAULT_MAX_STREAM_BIDI_REQUESTS
      The default maximum value of pending stream requests.
      See Also:
    • DEFAULT_MAX_STREAM_UNI_REQUESTS

      public static final int DEFAULT_MAX_STREAM_UNI_REQUESTS
      See Also:
  • Constructor Details

    • QuicEndpointConfig

      protected QuicEndpointConfig(QuicConfig transportConfig)
    • QuicEndpointConfig

      public QuicEndpointConfig(QuicEndpointConfig other)
  • Method Details

    • setTransportConfig

      public QuicEndpointConfig setTransportConfig(QuicConfig transportConfig)
    • getTransportConfig

      public QuicConfig getTransportConfig()
      Specified by:
      getTransportConfig in class EndpointConfig
      Returns:
      the endpoint transport config
    • getQLogConfig

      public QLogConfig getQLogConfig()
      Returns:
      the endpoint QLog config.
    • setQLogConfig

      public QuicEndpointConfig setQLogConfig(QLogConfig qLogConfig)

      Set the endpoint QLog config.

      The config can point to a single file or to a directory where qlog files will be created.

      Parameters:
      qLogConfig - the qlog config
      Returns:
      this exact object instance
    • getKeyLogFile

      public String getKeyLogFile()
      Returns:
      the path of the configured key log file or null (default).
    • setKeyLogFile

      public QuicEndpointConfig setKeyLogFile(String keyLogFile)

      Configures the endpoint to dump the cryptographic secrets using in TLS in the SSLKEYLOGFILE format.

      The file might exist or will be created (in which case the parent file must exist), content will be appended to the file.

      This should be used only for debugging purpose and must not be used in production. This feature is disabled by default.

      Parameters:
      keyLogFile - the path to the key log file
      Returns:
      this exact object instance
    • setIdleTimeout

      public QuicEndpointConfig setIdleTimeout(Duration idleTimeout)
      Description copied from class: EndpointConfig
      Set the stream idle timeout, zero or null means don't time out. This determines if a stream will timeout and be closed if no data is received nor sent within the timeout.
      Overrides:
      setIdleTimeout in class EndpointConfig
      Parameters:
      idleTimeout - the idle timeout
      Returns:
      a reference to this, so the API can be used fluently
    • setReadIdleTimeout

      public QuicEndpointConfig setReadIdleTimeout(Duration idleTimeout)
      Description copied from class: EndpointConfig

      Set the stream read idle timeout, zero or null means or null means don't time out. This determines if a stream will timeout and be closed if no data is received within the timeout.

      Overrides:
      setReadIdleTimeout in class EndpointConfig
      Parameters:
      idleTimeout - the read idle timeout
      Returns:
      a reference to this, so the API can be used fluently
    • setWriteIdleTimeout

      public QuicEndpointConfig setWriteIdleTimeout(Duration idleTimeout)
      Description copied from class: EndpointConfig

      Set the stream write idle timeout, zero or null means don't time out. This determines if a stream will timeout and be closed if no data is sent within the timeout.

      Overrides:
      setWriteIdleTimeout in class EndpointConfig
      Parameters:
      idleTimeout - the write idle timeout
      Returns:
      a reference to this, so the API can be used fluently
    • setMetricsName

      public QuicEndpointConfig setMetricsName(String metricsName)
      Description copied from class: EndpointConfig
      Set the metrics name identifying the reported metrics, useful for grouping metrics with the same name.
      Overrides:
      setMetricsName in class EndpointConfig
      Parameters:
      metricsName - the metrics name
      Returns:
      a reference to this, so the API can be used fluently
    • setLogConfig

      public QuicEndpointConfig setLogConfig(LogConfig config)
      Description copied from class: EndpointConfig
      Configure the log config: Netty's stream pipeline is configured for logging on Netty's logger.
      Overrides:
      setLogConfig in class EndpointConfig
      Parameters:
      config - the log config
      Returns:
      a reference to this, so the API can be used fluently
    • getMaxStreamBidiRequests

      public int getMaxStreamBidiRequests()
      Returns:
      the number of maximum bidi stream requests awaiting in the queue of a connection
    • setMaxStreamBidiRequests

      public QuicEndpointConfig setMaxStreamBidiRequests(int maxStreamRequests)
      Set the maximum number of bidi stream requests per connection that can be queued when the connection stream bidi limit is reached.
      Parameters:
      maxStreamRequests - the maximum value
    • getMaxStreamUniRequests

      public int getMaxStreamUniRequests()
      Returns:
      the number of maximum uni stream requests awaiting in the queue of a connection
    • setMaxStreamUniRequests

      public QuicEndpointConfig setMaxStreamUniRequests(int maxStreamRequests)
      Set the maximum number of unit stream requests per connection that can be queued when the connection stream uni limit is reached.
      Parameters:
      maxStreamRequests - the maximum value
    • isReuseAddress

      public boolean isReuseAddress()
      Returns:
      the value of reuse address
    • setReuseAddress

      public QuicEndpointConfig setReuseAddress(boolean reuseAddress)
      Set the value of reuse address, used to bind the UDP socket underpinning the QUIC transport.
      Parameters:
      reuseAddress - the value of reuse address
      Returns:
      a reference to this, so the API can be used fluently