Class QuicClientConfig

java.lang.Object
reactor.netty.transport.TransportConfig
reactor.netty.quic.QuicClientConfig

public final class QuicClientConfig extends TransportConfig
Encapsulate all necessary configuration for QUIC client transport. The public API is read-only.
Author:
Violeta Georgieva
  • Field Details

    • QUIC_CLIENT_PREFIX

      public static final String QUIC_CLIENT_PREFIX
      Name prefix that will be used for the QUIC client's metrics registered in Micrometer's global registry.
      See Also:
  • Method Details

    • doOnConnect

      public @Nullable Consumer<? super QuicClientConfig> doOnConnect()
      Return the configured callback or null.
      Returns:
      the configured callback or null
    • doOnConnected

      public @Nullable Consumer<? super QuicConnection> doOnConnected()
      Return the configured callback or null.
      Returns:
      the configured callback or null
    • doOnDisconnected

      public @Nullable Consumer<? super QuicConnection> doOnDisconnected()
      Return the configured callback or null.
      Returns:
      the configured callback or null
    • remoteAddress

      public Supplier<? extends SocketAddress> remoteAddress()
      Return the remote configured SocketAddress.
      Returns:
      the remote configured SocketAddress
    • defaultConnectionObserver

      protected ConnectionObserver defaultConnectionObserver()
      Description copied from class: TransportConfig
      Return the configured default ConnectionObserver.
      Returns:
      the configured default ConnectionObserver
    • defaultLoggingHandler

      protected LoggingHandler defaultLoggingHandler()
      Description copied from class: TransportConfig
      Return the default LoggingHandler to wiretap this transport.
      Specified by:
      defaultLoggingHandler in class TransportConfig
      Returns:
      the default LoggingHandler to wiretap this transport
    • defaultMetricsRecorder

      protected ChannelMetricsRecorder defaultMetricsRecorder()
      Description copied from class: TransportConfig
      Return the configured metrics recorder.
      Specified by:
      defaultMetricsRecorder in class TransportConfig
      Returns:
      the configured metrics recorder
    • parentChannelInitializer

      protected ChannelInitializer<Channel> parentChannelInitializer()
    • ackDelayExponent

      public final long ackDelayExponent()
      Return the configured delay exponent used for ACKs or the default.
      Returns:
      the configured delay exponent used for ACKs or the default
    • congestionControlAlgorithm

      public final QuicCongestionControlAlgorithm congestionControlAlgorithm()
      Return the configured QuicCongestionControlAlgorithm or the default.
      Returns:
      the configured QuicCongestionControlAlgorithm or the default
    • doOnBind

      public final @Nullable Consumer<? super QuicClientConfig> doOnBind()
      Return the configured callback or null.
      Returns:
      the configured callback or null
    • doOnBound

      public final @Nullable Consumer<? super Connection> doOnBound()
      Return the configured callback or null.
      Returns:
      the configured callback or null
    • doOnUnbound

      public final @Nullable Consumer<? super Connection> doOnUnbound()
      Return the configured callback or null.
      Returns:
      the configured callback or null
    • idleTimeout

      public final @Nullable Duration idleTimeout()
      Return the configured idle timeout or null.
      Returns:
      the configured idle timeout or null
    • initialSettings

      public final QuicInitialSettingsSpec initialSettings()
      Return the configured QUIC initial settings or the default.
      Returns:
      the configured QUIC initial settings or the default
    • isActiveMigration

      public final boolean isActiveMigration()
      Return true if active migration is enabled.
      Returns:
      true if active migration is enabled
    • isGrease

      public final boolean isGrease()
      Return true if greasing is enabled.
      Returns:
      true if greasing is enabled
    • isHystart

      public final boolean isHystart()
      Return true if Hystart is enabled.
      Returns:
      true if Hystart is enabled
    • localConnectionIdLength

      public final int localConnectionIdLength()
      Return the configured local connection id length that is used or the default.
      Returns:
      the configured local connection id length that is used or the default
    • maxAckDelay

      public final Duration maxAckDelay()
      Return the configured the max ACK delay or the default.
      Returns:
      the configured the max ACK delay or the default
    • maxRecvUdpPayloadSize

      public final long maxRecvUdpPayloadSize()
      Return the configured the maximum payload size or the default.
      Returns:
      the configured the maximum payload size or the default
    • maxSendUdpPayloadSize

      public final long maxSendUdpPayloadSize()
      Return the configured the maximum payload size or the default.
      Returns:
      the configured the maximum payload size or the default
    • recvQueueLen

      public final int recvQueueLen()
      Return the configured RECV queue length.
      Returns:
      the configured RECV queue length
    • sendQueueLen

      public final int sendQueueLen()
      Return the configured SEND queue length.
      Returns:
      the configured SEND queue length
    • streamAttributes

      public final Map<AttributeKey<?>,?> streamAttributes()
      Return the read-only default stream attributes.
      Returns:
      the read-only default stream attributes
    • streamObserver

      public final ConnectionObserver streamObserver()
      Return the configured ConnectionObserver if any or ConnectionObserver.emptyListener() for each stream.
      Returns:
      the configured ConnectionObserver if any or ConnectionObserver.emptyListener() for each stream
    • streamOptions

      public final Map<ChannelOption<?>,?> streamOptions()
      Return the read-only ChannelOption map for each stream.
      Returns:
      the read-only ChannelOption map for each stream
    • channelType

      protected final Class<? extends Channel> channelType(boolean isDomainSocket)
      Description copied from class: TransportConfig
      Return the channel type this configuration is associated with, it can be one of the following.
      Specified by:
      channelType in class TransportConfig
      Parameters:
      isDomainSocket - true if DomainSocketChannel or ServerDomainSocketChannel is needed, false otherwise
      Returns:
      the channel type this configuration is associated with
    • defaultLoopResources

      protected final LoopResources defaultLoopResources()
      Description copied from class: TransportConfig
      Return the default LoopResources for this transport.
      Specified by:
      defaultLoopResources in class TransportConfig
      Returns:
      the default LoopResources for this transport
    • defaultOnChannelInit

      protected ChannelPipelineConfigurer defaultOnChannelInit()
      Description copied from class: TransportConfig
      Return the default callback if any or ChannelPipelineConfigurer.emptyConfigurer().
      Specified by:
      defaultOnChannelInit in class TransportConfig
      Returns:
      the default callback if any or ChannelPipelineConfigurer.emptyConfigurer()
    • eventLoopGroup

      protected final EventLoopGroup eventLoopGroup()
      Description copied from class: TransportConfig
      Return the configured EventLoopGroup.
      Specified by:
      eventLoopGroup in class TransportConfig
      Returns:
      the configured EventLoopGroup
    • updateMap

      protected static <K, V> Map<K,V> updateMap(Map<K,V> parentMap, Object key, @Nullable Object value)