Interface QuicProtocolOptionsOrBuilder

All Superinterfaces:
com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
All Known Implementing Classes:
QuicProtocolOptions, QuicProtocolOptions.Builder

public interface QuicProtocolOptionsOrBuilder extends com.google.protobuf.MessageOrBuilder
  • Method Details

    • hasQuicProtocolOptions

      boolean hasQuicProtocolOptions()
      .envoy.config.core.v3.QuicProtocolOptions quic_protocol_options = 1;
      Returns:
      Whether the quicProtocolOptions field is set.
    • getQuicProtocolOptions

      QuicProtocolOptions getQuicProtocolOptions()
      .envoy.config.core.v3.QuicProtocolOptions quic_protocol_options = 1;
      Returns:
      The quicProtocolOptions.
    • getQuicProtocolOptionsOrBuilder

      QuicProtocolOptionsOrBuilder getQuicProtocolOptionsOrBuilder()
      .envoy.config.core.v3.QuicProtocolOptions quic_protocol_options = 1;
    • hasIdleTimeout

      boolean hasIdleTimeout()
       Maximum number of milliseconds that connection will be alive when there is
       no network activity.
      
       If it is less than 1ms, Envoy will use 1ms. 300000ms if not specified.
       
      .google.protobuf.Duration idle_timeout = 2;
      Returns:
      Whether the idleTimeout field is set.
    • getIdleTimeout

      com.google.protobuf.Duration getIdleTimeout()
       Maximum number of milliseconds that connection will be alive when there is
       no network activity.
      
       If it is less than 1ms, Envoy will use 1ms. 300000ms if not specified.
       
      .google.protobuf.Duration idle_timeout = 2;
      Returns:
      The idleTimeout.
    • getIdleTimeoutOrBuilder

      com.google.protobuf.DurationOrBuilder getIdleTimeoutOrBuilder()
       Maximum number of milliseconds that connection will be alive when there is
       no network activity.
      
       If it is less than 1ms, Envoy will use 1ms. 300000ms if not specified.
       
      .google.protobuf.Duration idle_timeout = 2;
    • hasCryptoHandshakeTimeout

      boolean hasCryptoHandshakeTimeout()
       Connection timeout in milliseconds before the crypto handshake is finished.
      
       If it is less than 5000ms, Envoy will use 5000ms. 20000ms if not specified.
       
      .google.protobuf.Duration crypto_handshake_timeout = 3;
      Returns:
      Whether the cryptoHandshakeTimeout field is set.
    • getCryptoHandshakeTimeout

      com.google.protobuf.Duration getCryptoHandshakeTimeout()
       Connection timeout in milliseconds before the crypto handshake is finished.
      
       If it is less than 5000ms, Envoy will use 5000ms. 20000ms if not specified.
       
      .google.protobuf.Duration crypto_handshake_timeout = 3;
      Returns:
      The cryptoHandshakeTimeout.
    • getCryptoHandshakeTimeoutOrBuilder

      com.google.protobuf.DurationOrBuilder getCryptoHandshakeTimeoutOrBuilder()
       Connection timeout in milliseconds before the crypto handshake is finished.
      
       If it is less than 5000ms, Envoy will use 5000ms. 20000ms if not specified.
       
      .google.protobuf.Duration crypto_handshake_timeout = 3;
    • hasEnabled

      boolean hasEnabled()
       Runtime flag that controls whether the listener is enabled or not. If not specified, defaults
       to enabled.
       
      .envoy.config.core.v3.RuntimeFeatureFlag enabled = 4;
      Returns:
      Whether the enabled field is set.
    • getEnabled

      RuntimeFeatureFlag getEnabled()
       Runtime flag that controls whether the listener is enabled or not. If not specified, defaults
       to enabled.
       
      .envoy.config.core.v3.RuntimeFeatureFlag enabled = 4;
      Returns:
      The enabled.
    • getEnabledOrBuilder

      RuntimeFeatureFlagOrBuilder getEnabledOrBuilder()
       Runtime flag that controls whether the listener is enabled or not. If not specified, defaults
       to enabled.
       
      .envoy.config.core.v3.RuntimeFeatureFlag enabled = 4;
    • hasPacketsToReadToConnectionCountRatio

      boolean hasPacketsToReadToConnectionCountRatio()
       A multiplier to number of connections which is used to determine how many packets to read per
       event loop. A reasonable number should allow the listener to process enough payload but not
       starve TCP and other UDP sockets and also prevent long event loop duration.
       The default value is 32. This means if there are N QUIC connections, the total number of
       packets to read in each read event will be 32 * N.
       The actual number of packets to read in total by the UDP listener is also
       bound by 6000, regardless of this field or how many connections there are.
       
      .google.protobuf.UInt32Value packets_to_read_to_connection_count_ratio = 5 [(.validate.rules) = { ... }
      Returns:
      Whether the packetsToReadToConnectionCountRatio field is set.
    • getPacketsToReadToConnectionCountRatio

      com.google.protobuf.UInt32Value getPacketsToReadToConnectionCountRatio()
       A multiplier to number of connections which is used to determine how many packets to read per
       event loop. A reasonable number should allow the listener to process enough payload but not
       starve TCP and other UDP sockets and also prevent long event loop duration.
       The default value is 32. This means if there are N QUIC connections, the total number of
       packets to read in each read event will be 32 * N.
       The actual number of packets to read in total by the UDP listener is also
       bound by 6000, regardless of this field or how many connections there are.
       
      .google.protobuf.UInt32Value packets_to_read_to_connection_count_ratio = 5 [(.validate.rules) = { ... }
      Returns:
      The packetsToReadToConnectionCountRatio.
    • getPacketsToReadToConnectionCountRatioOrBuilder

      com.google.protobuf.UInt32ValueOrBuilder getPacketsToReadToConnectionCountRatioOrBuilder()
       A multiplier to number of connections which is used to determine how many packets to read per
       event loop. A reasonable number should allow the listener to process enough payload but not
       starve TCP and other UDP sockets and also prevent long event loop duration.
       The default value is 32. This means if there are N QUIC connections, the total number of
       packets to read in each read event will be 32 * N.
       The actual number of packets to read in total by the UDP listener is also
       bound by 6000, regardless of this field or how many connections there are.
       
      .google.protobuf.UInt32Value packets_to_read_to_connection_count_ratio = 5 [(.validate.rules) = { ... }
    • hasCryptoStreamConfig

      boolean hasCryptoStreamConfig()
       Configure which implementation of ``quic::QuicCryptoClientStreamBase`` to be used for this listener.
       If not specified the :ref:`QUICHE default one configured by <envoy_v3_api_msg_extensions.quic.crypto_stream.v3.CryptoServerStreamConfig>` will be used.
       [#extension-category: envoy.quic.server.crypto_stream]
       
      .envoy.config.core.v3.TypedExtensionConfig crypto_stream_config = 6;
      Returns:
      Whether the cryptoStreamConfig field is set.
    • getCryptoStreamConfig

      TypedExtensionConfig getCryptoStreamConfig()
       Configure which implementation of ``quic::QuicCryptoClientStreamBase`` to be used for this listener.
       If not specified the :ref:`QUICHE default one configured by <envoy_v3_api_msg_extensions.quic.crypto_stream.v3.CryptoServerStreamConfig>` will be used.
       [#extension-category: envoy.quic.server.crypto_stream]
       
      .envoy.config.core.v3.TypedExtensionConfig crypto_stream_config = 6;
      Returns:
      The cryptoStreamConfig.
    • getCryptoStreamConfigOrBuilder

      TypedExtensionConfigOrBuilder getCryptoStreamConfigOrBuilder()
       Configure which implementation of ``quic::QuicCryptoClientStreamBase`` to be used for this listener.
       If not specified the :ref:`QUICHE default one configured by <envoy_v3_api_msg_extensions.quic.crypto_stream.v3.CryptoServerStreamConfig>` will be used.
       [#extension-category: envoy.quic.server.crypto_stream]
       
      .envoy.config.core.v3.TypedExtensionConfig crypto_stream_config = 6;
    • hasProofSourceConfig

      boolean hasProofSourceConfig()
       Configure which implementation of ``quic::ProofSource`` to be used for this listener.
       If not specified the :ref:`default one configured by <envoy_v3_api_msg_extensions.quic.proof_source.v3.ProofSourceConfig>` will be used.
       [#extension-category: envoy.quic.proof_source]
       
      .envoy.config.core.v3.TypedExtensionConfig proof_source_config = 7;
      Returns:
      Whether the proofSourceConfig field is set.
    • getProofSourceConfig

      TypedExtensionConfig getProofSourceConfig()
       Configure which implementation of ``quic::ProofSource`` to be used for this listener.
       If not specified the :ref:`default one configured by <envoy_v3_api_msg_extensions.quic.proof_source.v3.ProofSourceConfig>` will be used.
       [#extension-category: envoy.quic.proof_source]
       
      .envoy.config.core.v3.TypedExtensionConfig proof_source_config = 7;
      Returns:
      The proofSourceConfig.
    • getProofSourceConfigOrBuilder

      TypedExtensionConfigOrBuilder getProofSourceConfigOrBuilder()
       Configure which implementation of ``quic::ProofSource`` to be used for this listener.
       If not specified the :ref:`default one configured by <envoy_v3_api_msg_extensions.quic.proof_source.v3.ProofSourceConfig>` will be used.
       [#extension-category: envoy.quic.proof_source]
       
      .envoy.config.core.v3.TypedExtensionConfig proof_source_config = 7;
    • hasConnectionIdGeneratorConfig

      boolean hasConnectionIdGeneratorConfig()
       Config which implementation of ``quic::ConnectionIdGeneratorInterface`` to be used for this listener.
       If not specified the :ref:`default one configured by <envoy_v3_api_msg_extensions.quic.connection_id_generator.v3.DeterministicConnectionIdGeneratorConfig>` will be used.
       [#extension-category: envoy.quic.connection_id_generator]
       
      .envoy.config.core.v3.TypedExtensionConfig connection_id_generator_config = 8;
      Returns:
      Whether the connectionIdGeneratorConfig field is set.
    • getConnectionIdGeneratorConfig

      TypedExtensionConfig getConnectionIdGeneratorConfig()
       Config which implementation of ``quic::ConnectionIdGeneratorInterface`` to be used for this listener.
       If not specified the :ref:`default one configured by <envoy_v3_api_msg_extensions.quic.connection_id_generator.v3.DeterministicConnectionIdGeneratorConfig>` will be used.
       [#extension-category: envoy.quic.connection_id_generator]
       
      .envoy.config.core.v3.TypedExtensionConfig connection_id_generator_config = 8;
      Returns:
      The connectionIdGeneratorConfig.
    • getConnectionIdGeneratorConfigOrBuilder

      TypedExtensionConfigOrBuilder getConnectionIdGeneratorConfigOrBuilder()
       Config which implementation of ``quic::ConnectionIdGeneratorInterface`` to be used for this listener.
       If not specified the :ref:`default one configured by <envoy_v3_api_msg_extensions.quic.connection_id_generator.v3.DeterministicConnectionIdGeneratorConfig>` will be used.
       [#extension-category: envoy.quic.connection_id_generator]
       
      .envoy.config.core.v3.TypedExtensionConfig connection_id_generator_config = 8;
    • hasServerPreferredAddressConfig

      boolean hasServerPreferredAddressConfig()
       Configure the server's preferred address to advertise so that client can migrate to it. See :ref:`example <envoy_v3_api_msg_extensions.quic.server_preferred_address.v3.FixedServerPreferredAddressConfig>` which configures a pair of v4 and v6 preferred addresses.
       The current QUICHE implementation will advertise only one of the preferred IPv4 and IPv6 addresses based on the address family the client initially connects with.
       If not specified, Envoy will not advertise any server's preferred address.
       [#extension-category: envoy.quic.server_preferred_address]
       
      .envoy.config.core.v3.TypedExtensionConfig server_preferred_address_config = 9 [(.xds.annotations.v3.field_status) = { ... }
      Returns:
      Whether the serverPreferredAddressConfig field is set.
    • getServerPreferredAddressConfig

      TypedExtensionConfig getServerPreferredAddressConfig()
       Configure the server's preferred address to advertise so that client can migrate to it. See :ref:`example <envoy_v3_api_msg_extensions.quic.server_preferred_address.v3.FixedServerPreferredAddressConfig>` which configures a pair of v4 and v6 preferred addresses.
       The current QUICHE implementation will advertise only one of the preferred IPv4 and IPv6 addresses based on the address family the client initially connects with.
       If not specified, Envoy will not advertise any server's preferred address.
       [#extension-category: envoy.quic.server_preferred_address]
       
      .envoy.config.core.v3.TypedExtensionConfig server_preferred_address_config = 9 [(.xds.annotations.v3.field_status) = { ... }
      Returns:
      The serverPreferredAddressConfig.
    • getServerPreferredAddressConfigOrBuilder

      TypedExtensionConfigOrBuilder getServerPreferredAddressConfigOrBuilder()
       Configure the server's preferred address to advertise so that client can migrate to it. See :ref:`example <envoy_v3_api_msg_extensions.quic.server_preferred_address.v3.FixedServerPreferredAddressConfig>` which configures a pair of v4 and v6 preferred addresses.
       The current QUICHE implementation will advertise only one of the preferred IPv4 and IPv6 addresses based on the address family the client initially connects with.
       If not specified, Envoy will not advertise any server's preferred address.
       [#extension-category: envoy.quic.server_preferred_address]
       
      .envoy.config.core.v3.TypedExtensionConfig server_preferred_address_config = 9 [(.xds.annotations.v3.field_status) = { ... }
    • hasSendDisableActiveMigration

      boolean hasSendDisableActiveMigration()
       Configure the server to send transport parameter `disable_active_migration <https://www.rfc-editor.org/rfc/rfc9000#section-18.2-4.30.1>`_.
       Defaults to false (do not send this transport parameter).
       
      .google.protobuf.BoolValue send_disable_active_migration = 10;
      Returns:
      Whether the sendDisableActiveMigration field is set.
    • getSendDisableActiveMigration

      com.google.protobuf.BoolValue getSendDisableActiveMigration()
       Configure the server to send transport parameter `disable_active_migration <https://www.rfc-editor.org/rfc/rfc9000#section-18.2-4.30.1>`_.
       Defaults to false (do not send this transport parameter).
       
      .google.protobuf.BoolValue send_disable_active_migration = 10;
      Returns:
      The sendDisableActiveMigration.
    • getSendDisableActiveMigrationOrBuilder

      com.google.protobuf.BoolValueOrBuilder getSendDisableActiveMigrationOrBuilder()
       Configure the server to send transport parameter `disable_active_migration <https://www.rfc-editor.org/rfc/rfc9000#section-18.2-4.30.1>`_.
       Defaults to false (do not send this transport parameter).
       
      .google.protobuf.BoolValue send_disable_active_migration = 10;
    • hasConnectionDebugVisitorConfig

      boolean hasConnectionDebugVisitorConfig()
       Configure which implementation of ``quic::QuicConnectionDebugVisitor`` to be used for this listener.
       If not specified, no debug visitor will be attached to connections.
       [#extension-category: envoy.quic.connection_debug_visitor]
       
      .envoy.config.core.v3.TypedExtensionConfig connection_debug_visitor_config = 11;
      Returns:
      Whether the connectionDebugVisitorConfig field is set.
    • getConnectionDebugVisitorConfig

      TypedExtensionConfig getConnectionDebugVisitorConfig()
       Configure which implementation of ``quic::QuicConnectionDebugVisitor`` to be used for this listener.
       If not specified, no debug visitor will be attached to connections.
       [#extension-category: envoy.quic.connection_debug_visitor]
       
      .envoy.config.core.v3.TypedExtensionConfig connection_debug_visitor_config = 11;
      Returns:
      The connectionDebugVisitorConfig.
    • getConnectionDebugVisitorConfigOrBuilder

      TypedExtensionConfigOrBuilder getConnectionDebugVisitorConfigOrBuilder()
       Configure which implementation of ``quic::QuicConnectionDebugVisitor`` to be used for this listener.
       If not specified, no debug visitor will be attached to connections.
       [#extension-category: envoy.quic.connection_debug_visitor]
       
      .envoy.config.core.v3.TypedExtensionConfig connection_debug_visitor_config = 11;
    • getSaveCmsgConfigList

      List<SocketCmsgHeaders> getSaveCmsgConfigList()
       Configure a type of UDP cmsg to pass to listener filters via QuicReceivedPacket.
       Both level and type must be specified for cmsg to be saved.
       Cmsg may be truncated or omitted if expected size is not set.
       If not specified, no cmsg will be saved to QuicReceivedPacket.
       
      repeated .envoy.config.core.v3.SocketCmsgHeaders save_cmsg_config = 12 [(.validate.rules) = { ... }
    • getSaveCmsgConfig

      SocketCmsgHeaders getSaveCmsgConfig(int index)
       Configure a type of UDP cmsg to pass to listener filters via QuicReceivedPacket.
       Both level and type must be specified for cmsg to be saved.
       Cmsg may be truncated or omitted if expected size is not set.
       If not specified, no cmsg will be saved to QuicReceivedPacket.
       
      repeated .envoy.config.core.v3.SocketCmsgHeaders save_cmsg_config = 12 [(.validate.rules) = { ... }
    • getSaveCmsgConfigCount

      int getSaveCmsgConfigCount()
       Configure a type of UDP cmsg to pass to listener filters via QuicReceivedPacket.
       Both level and type must be specified for cmsg to be saved.
       Cmsg may be truncated or omitted if expected size is not set.
       If not specified, no cmsg will be saved to QuicReceivedPacket.
       
      repeated .envoy.config.core.v3.SocketCmsgHeaders save_cmsg_config = 12 [(.validate.rules) = { ... }
    • getSaveCmsgConfigOrBuilderList

      List<? extends SocketCmsgHeadersOrBuilder> getSaveCmsgConfigOrBuilderList()
       Configure a type of UDP cmsg to pass to listener filters via QuicReceivedPacket.
       Both level and type must be specified for cmsg to be saved.
       Cmsg may be truncated or omitted if expected size is not set.
       If not specified, no cmsg will be saved to QuicReceivedPacket.
       
      repeated .envoy.config.core.v3.SocketCmsgHeaders save_cmsg_config = 12 [(.validate.rules) = { ... }
    • getSaveCmsgConfigOrBuilder

      SocketCmsgHeadersOrBuilder getSaveCmsgConfigOrBuilder(int index)
       Configure a type of UDP cmsg to pass to listener filters via QuicReceivedPacket.
       Both level and type must be specified for cmsg to be saved.
       Cmsg may be truncated or omitted if expected size is not set.
       If not specified, no cmsg will be saved to QuicReceivedPacket.
       
      repeated .envoy.config.core.v3.SocketCmsgHeaders save_cmsg_config = 12 [(.validate.rules) = { ... }
    • getRejectNewConnections

      boolean getRejectNewConnections()
       If true, the listener will reject connection-establishing packets at the
       QUIC layer by replying with an empty version negotiation packet to the
       client.
       
      bool reject_new_connections = 13;
      Returns:
      The rejectNewConnections.
    • hasMaxSessionsPerEventLoop

      boolean hasMaxSessionsPerEventLoop()
       Maximum number of QUIC sessions to create per event loop.
       If not specified, the default value is 16.
       This is an equivalent of the TCP listener option
       max_connections_to_accept_per_socket_event.
       
      .google.protobuf.UInt32Value max_sessions_per_event_loop = 14 [(.validate.rules) = { ... }
      Returns:
      Whether the maxSessionsPerEventLoop field is set.
    • getMaxSessionsPerEventLoop

      com.google.protobuf.UInt32Value getMaxSessionsPerEventLoop()
       Maximum number of QUIC sessions to create per event loop.
       If not specified, the default value is 16.
       This is an equivalent of the TCP listener option
       max_connections_to_accept_per_socket_event.
       
      .google.protobuf.UInt32Value max_sessions_per_event_loop = 14 [(.validate.rules) = { ... }
      Returns:
      The maxSessionsPerEventLoop.
    • getMaxSessionsPerEventLoopOrBuilder

      com.google.protobuf.UInt32ValueOrBuilder getMaxSessionsPerEventLoopOrBuilder()
       Maximum number of QUIC sessions to create per event loop.
       If not specified, the default value is 16.
       This is an equivalent of the TCP listener option
       max_connections_to_accept_per_socket_event.
       
      .google.protobuf.UInt32Value max_sessions_per_event_loop = 14 [(.validate.rules) = { ... }