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 Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.lang.String getClientConnectionOptions()
      A comma-separated list of strings representing QUIC client connection options defined in `QUICHE <https://github.com/google/quiche/blob/main/quiche/quic/core/crypto/crypto_protocol.h>`_ and to be sent by upstream connections.
      com.google.protobuf.ByteString getClientConnectionOptionsBytes()
      A comma-separated list of strings representing QUIC client connection options defined in `QUICHE <https://github.com/google/quiche/blob/main/quiche/quic/core/crypto/crypto_protocol.h>`_ and to be sent by upstream connections.
      QuicKeepAliveSettings getConnectionKeepalive()
      Probes the peer at the configured interval to solicit traffic, i.e.
      QuicKeepAliveSettingsOrBuilder getConnectionKeepaliveOrBuilder()
      Probes the peer at the configured interval to solicit traffic, i.e.
      java.lang.String getConnectionOptions()
      A comma-separated list of strings representing QUIC connection options defined in `QUICHE <https://github.com/google/quiche/blob/main/quiche/quic/core/crypto/crypto_protocol.h>`_ and to be sent by upstream connections.
      com.google.protobuf.ByteString getConnectionOptionsBytes()
      A comma-separated list of strings representing QUIC connection options defined in `QUICHE <https://github.com/google/quiche/blob/main/quiche/quic/core/crypto/crypto_protocol.h>`_ and to be sent by upstream connections.
      com.google.protobuf.Duration getIdleNetworkTimeout()
      The duration that a QUIC connection stays idle before it closes itself.
      com.google.protobuf.DurationOrBuilder getIdleNetworkTimeoutOrBuilder()
      The duration that a QUIC connection stays idle before it closes itself.
      com.google.protobuf.UInt32Value getInitialConnectionWindowSize()
      Similar to ``initial_stream_window_size``, but for connection-level flow-control.
      com.google.protobuf.UInt32ValueOrBuilder getInitialConnectionWindowSizeOrBuilder()
      Similar to ``initial_stream_window_size``, but for connection-level flow-control.
      com.google.protobuf.UInt32Value getInitialStreamWindowSize()
      `Initial stream-level flow-control receive window <https://tools.ietf.org/html/draft-ietf-quic-transport-34#section-4.1>`_ size.
      com.google.protobuf.UInt32ValueOrBuilder getInitialStreamWindowSizeOrBuilder()
      `Initial stream-level flow-control receive window <https://tools.ietf.org/html/draft-ietf-quic-transport-34#section-4.1>`_ size.
      com.google.protobuf.UInt32Value getMaxConcurrentStreams()
      Maximum number of streams that the client can negotiate per connection.
      com.google.protobuf.UInt32ValueOrBuilder getMaxConcurrentStreamsOrBuilder()
      Maximum number of streams that the client can negotiate per connection.
      com.google.protobuf.UInt32Value getNumTimeoutsToTriggerPortMigration()
      The number of timeouts that can occur before port migration is triggered for QUIC clients.
      com.google.protobuf.UInt32ValueOrBuilder getNumTimeoutsToTriggerPortMigrationOrBuilder()
      The number of timeouts that can occur before port migration is triggered for QUIC clients.
      boolean hasConnectionKeepalive()
      Probes the peer at the configured interval to solicit traffic, i.e.
      boolean hasIdleNetworkTimeout()
      The duration that a QUIC connection stays idle before it closes itself.
      boolean hasInitialConnectionWindowSize()
      Similar to ``initial_stream_window_size``, but for connection-level flow-control.
      boolean hasInitialStreamWindowSize()
      `Initial stream-level flow-control receive window <https://tools.ietf.org/html/draft-ietf-quic-transport-34#section-4.1>`_ size.
      boolean hasMaxConcurrentStreams()
      Maximum number of streams that the client can negotiate per connection.
      boolean hasNumTimeoutsToTriggerPortMigration()
      The number of timeouts that can occur before port migration is triggered for QUIC clients.
      • Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

        isInitialized
      • Methods inherited from interface com.google.protobuf.MessageOrBuilder

        findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
    • Method Detail

      • hasMaxConcurrentStreams

        boolean hasMaxConcurrentStreams()
         Maximum number of streams that the client can negotiate per connection. 100
         if not specified.
         
        .google.protobuf.UInt32Value max_concurrent_streams = 1 [(.validate.rules) = { ... }
        Returns:
        Whether the maxConcurrentStreams field is set.
      • getMaxConcurrentStreams

        com.google.protobuf.UInt32Value getMaxConcurrentStreams()
         Maximum number of streams that the client can negotiate per connection. 100
         if not specified.
         
        .google.protobuf.UInt32Value max_concurrent_streams = 1 [(.validate.rules) = { ... }
        Returns:
        The maxConcurrentStreams.
      • getMaxConcurrentStreamsOrBuilder

        com.google.protobuf.UInt32ValueOrBuilder getMaxConcurrentStreamsOrBuilder()
         Maximum number of streams that the client can negotiate per connection. 100
         if not specified.
         
        .google.protobuf.UInt32Value max_concurrent_streams = 1 [(.validate.rules) = { ... }
      • hasInitialStreamWindowSize

        boolean hasInitialStreamWindowSize()
         `Initial stream-level flow-control receive window
         <https://tools.ietf.org/html/draft-ietf-quic-transport-34#section-4.1>`_ size. Valid values range from
         1 to 16777216 (2^24, maximum supported by QUICHE) and defaults to 16777216 (16 * 1024 * 1024).
        
         NOTE: 16384 (2^14) is the minimum window size supported in Google QUIC. If configured smaller than it, we will use 16384 instead.
         QUICHE IETF Quic implementation supports 1 bytes window. We only support increasing the default window size now, so it's also the minimum.
        
         This field also acts as a soft limit on the number of bytes Envoy will buffer per-stream in the
         QUIC stream send and receive buffers. Once the buffer reaches this pointer, watermark callbacks will fire to
         stop the flow of data to the stream buffers.
         
        .google.protobuf.UInt32Value initial_stream_window_size = 2 [(.validate.rules) = { ... }
        Returns:
        Whether the initialStreamWindowSize field is set.
      • getInitialStreamWindowSize

        com.google.protobuf.UInt32Value getInitialStreamWindowSize()
         `Initial stream-level flow-control receive window
         <https://tools.ietf.org/html/draft-ietf-quic-transport-34#section-4.1>`_ size. Valid values range from
         1 to 16777216 (2^24, maximum supported by QUICHE) and defaults to 16777216 (16 * 1024 * 1024).
        
         NOTE: 16384 (2^14) is the minimum window size supported in Google QUIC. If configured smaller than it, we will use 16384 instead.
         QUICHE IETF Quic implementation supports 1 bytes window. We only support increasing the default window size now, so it's also the minimum.
        
         This field also acts as a soft limit on the number of bytes Envoy will buffer per-stream in the
         QUIC stream send and receive buffers. Once the buffer reaches this pointer, watermark callbacks will fire to
         stop the flow of data to the stream buffers.
         
        .google.protobuf.UInt32Value initial_stream_window_size = 2 [(.validate.rules) = { ... }
        Returns:
        The initialStreamWindowSize.
      • getInitialStreamWindowSizeOrBuilder

        com.google.protobuf.UInt32ValueOrBuilder getInitialStreamWindowSizeOrBuilder()
         `Initial stream-level flow-control receive window
         <https://tools.ietf.org/html/draft-ietf-quic-transport-34#section-4.1>`_ size. Valid values range from
         1 to 16777216 (2^24, maximum supported by QUICHE) and defaults to 16777216 (16 * 1024 * 1024).
        
         NOTE: 16384 (2^14) is the minimum window size supported in Google QUIC. If configured smaller than it, we will use 16384 instead.
         QUICHE IETF Quic implementation supports 1 bytes window. We only support increasing the default window size now, so it's also the minimum.
        
         This field also acts as a soft limit on the number of bytes Envoy will buffer per-stream in the
         QUIC stream send and receive buffers. Once the buffer reaches this pointer, watermark callbacks will fire to
         stop the flow of data to the stream buffers.
         
        .google.protobuf.UInt32Value initial_stream_window_size = 2 [(.validate.rules) = { ... }
      • hasInitialConnectionWindowSize

        boolean hasInitialConnectionWindowSize()
         Similar to ``initial_stream_window_size``, but for connection-level
         flow-control. Valid values rage from 1 to 25165824 (24MB, maximum supported by QUICHE) and defaults
         to 25165824 (24 * 1024 * 1024).
        
         NOTE: 16384 (2^14) is the minimum window size supported in Google QUIC. We only support increasing the default
         window size now, so it's also the minimum.
         
        .google.protobuf.UInt32Value initial_connection_window_size = 3 [(.validate.rules) = { ... }
        Returns:
        Whether the initialConnectionWindowSize field is set.
      • getInitialConnectionWindowSize

        com.google.protobuf.UInt32Value getInitialConnectionWindowSize()
         Similar to ``initial_stream_window_size``, but for connection-level
         flow-control. Valid values rage from 1 to 25165824 (24MB, maximum supported by QUICHE) and defaults
         to 25165824 (24 * 1024 * 1024).
        
         NOTE: 16384 (2^14) is the minimum window size supported in Google QUIC. We only support increasing the default
         window size now, so it's also the minimum.
         
        .google.protobuf.UInt32Value initial_connection_window_size = 3 [(.validate.rules) = { ... }
        Returns:
        The initialConnectionWindowSize.
      • getInitialConnectionWindowSizeOrBuilder

        com.google.protobuf.UInt32ValueOrBuilder getInitialConnectionWindowSizeOrBuilder()
         Similar to ``initial_stream_window_size``, but for connection-level
         flow-control. Valid values rage from 1 to 25165824 (24MB, maximum supported by QUICHE) and defaults
         to 25165824 (24 * 1024 * 1024).
        
         NOTE: 16384 (2^14) is the minimum window size supported in Google QUIC. We only support increasing the default
         window size now, so it's also the minimum.
         
        .google.protobuf.UInt32Value initial_connection_window_size = 3 [(.validate.rules) = { ... }
      • hasNumTimeoutsToTriggerPortMigration

        boolean hasNumTimeoutsToTriggerPortMigration()
         The number of timeouts that can occur before port migration is triggered for QUIC clients.
         This defaults to 4. If set to 0, port migration will not occur on path degrading.
         Timeout here refers to QUIC internal path degrading timeout mechanism, such as PTO.
         This has no effect on server sessions.
         
        .google.protobuf.UInt32Value num_timeouts_to_trigger_port_migration = 4 [(.validate.rules) = { ... }
        Returns:
        Whether the numTimeoutsToTriggerPortMigration field is set.
      • getNumTimeoutsToTriggerPortMigration

        com.google.protobuf.UInt32Value getNumTimeoutsToTriggerPortMigration()
         The number of timeouts that can occur before port migration is triggered for QUIC clients.
         This defaults to 4. If set to 0, port migration will not occur on path degrading.
         Timeout here refers to QUIC internal path degrading timeout mechanism, such as PTO.
         This has no effect on server sessions.
         
        .google.protobuf.UInt32Value num_timeouts_to_trigger_port_migration = 4 [(.validate.rules) = { ... }
        Returns:
        The numTimeoutsToTriggerPortMigration.
      • getNumTimeoutsToTriggerPortMigrationOrBuilder

        com.google.protobuf.UInt32ValueOrBuilder getNumTimeoutsToTriggerPortMigrationOrBuilder()
         The number of timeouts that can occur before port migration is triggered for QUIC clients.
         This defaults to 4. If set to 0, port migration will not occur on path degrading.
         Timeout here refers to QUIC internal path degrading timeout mechanism, such as PTO.
         This has no effect on server sessions.
         
        .google.protobuf.UInt32Value num_timeouts_to_trigger_port_migration = 4 [(.validate.rules) = { ... }
      • hasConnectionKeepalive

        boolean hasConnectionKeepalive()
         Probes the peer at the configured interval to solicit traffic, i.e. ACK or PATH_RESPONSE, from the peer to push back connection idle timeout.
         If absent, use the default keepalive behavior of which a client connection sends PINGs every 15s, and a server connection doesn't do anything.
         
        .envoy.config.core.v3.QuicKeepAliveSettings connection_keepalive = 5;
        Returns:
        Whether the connectionKeepalive field is set.
      • getConnectionKeepalive

        QuicKeepAliveSettings getConnectionKeepalive()
         Probes the peer at the configured interval to solicit traffic, i.e. ACK or PATH_RESPONSE, from the peer to push back connection idle timeout.
         If absent, use the default keepalive behavior of which a client connection sends PINGs every 15s, and a server connection doesn't do anything.
         
        .envoy.config.core.v3.QuicKeepAliveSettings connection_keepalive = 5;
        Returns:
        The connectionKeepalive.
      • getConnectionKeepaliveOrBuilder

        QuicKeepAliveSettingsOrBuilder getConnectionKeepaliveOrBuilder()
         Probes the peer at the configured interval to solicit traffic, i.e. ACK or PATH_RESPONSE, from the peer to push back connection idle timeout.
         If absent, use the default keepalive behavior of which a client connection sends PINGs every 15s, and a server connection doesn't do anything.
         
        .envoy.config.core.v3.QuicKeepAliveSettings connection_keepalive = 5;
      • getConnectionOptions

        java.lang.String getConnectionOptions()
         A comma-separated list of strings representing QUIC connection options defined in
         `QUICHE <https://github.com/google/quiche/blob/main/quiche/quic/core/crypto/crypto_protocol.h>`_ and to be sent by upstream connections.
         
        string connection_options = 6;
        Returns:
        The connectionOptions.
      • getConnectionOptionsBytes

        com.google.protobuf.ByteString getConnectionOptionsBytes()
         A comma-separated list of strings representing QUIC connection options defined in
         `QUICHE <https://github.com/google/quiche/blob/main/quiche/quic/core/crypto/crypto_protocol.h>`_ and to be sent by upstream connections.
         
        string connection_options = 6;
        Returns:
        The bytes for connectionOptions.
      • getClientConnectionOptions

        java.lang.String getClientConnectionOptions()
         A comma-separated list of strings representing QUIC client connection options defined in
         `QUICHE <https://github.com/google/quiche/blob/main/quiche/quic/core/crypto/crypto_protocol.h>`_ and to be sent by upstream connections.
         
        string client_connection_options = 7;
        Returns:
        The clientConnectionOptions.
      • getClientConnectionOptionsBytes

        com.google.protobuf.ByteString getClientConnectionOptionsBytes()
         A comma-separated list of strings representing QUIC client connection options defined in
         `QUICHE <https://github.com/google/quiche/blob/main/quiche/quic/core/crypto/crypto_protocol.h>`_ and to be sent by upstream connections.
         
        string client_connection_options = 7;
        Returns:
        The bytes for clientConnectionOptions.
      • hasIdleNetworkTimeout

        boolean hasIdleNetworkTimeout()
         The duration that a QUIC connection stays idle before it closes itself. If this field is not present, QUICHE
         default 600s will be applied.
         For internal corporate network, a long timeout is often fine.
         But for client facing network, 30s is usually a good choice.
         
        .google.protobuf.Duration idle_network_timeout = 8 [(.validate.rules) = { ... }
        Returns:
        Whether the idleNetworkTimeout field is set.
      • getIdleNetworkTimeout

        com.google.protobuf.Duration getIdleNetworkTimeout()
         The duration that a QUIC connection stays idle before it closes itself. If this field is not present, QUICHE
         default 600s will be applied.
         For internal corporate network, a long timeout is often fine.
         But for client facing network, 30s is usually a good choice.
         
        .google.protobuf.Duration idle_network_timeout = 8 [(.validate.rules) = { ... }
        Returns:
        The idleNetworkTimeout.
      • getIdleNetworkTimeoutOrBuilder

        com.google.protobuf.DurationOrBuilder getIdleNetworkTimeoutOrBuilder()
         The duration that a QUIC connection stays idle before it closes itself. If this field is not present, QUICHE
         default 600s will be applied.
         For internal corporate network, a long timeout is often fine.
         But for client facing network, 30s is usually a good choice.
         
        .google.protobuf.Duration idle_network_timeout = 8 [(.validate.rules) = { ... }