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
Modifier and TypeMethodDescriptionA 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
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.Probes the peer at the configured interval to solicit traffic, i.e.Probes the peer at the configured interval to solicit traffic, i.e.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
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
The duration that a QUIC connection stays idle before it closes itself.com.google.protobuf.DurationOrBuilder
The duration that a QUIC connection stays idle before it closes itself.com.google.protobuf.UInt32Value
Similar to ``initial_stream_window_size``, but for connection-level flow-control.com.google.protobuf.UInt32ValueOrBuilder
Similar to ``initial_stream_window_size``, but for connection-level flow-control.com.google.protobuf.UInt32Value
`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
`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
Maximum number of streams that the client can negotiate per connection.com.google.protobuf.UInt32ValueOrBuilder
Maximum number of streams that the client can negotiate per connection.com.google.protobuf.UInt32Value
The number of timeouts that can occur before port migration is triggered for QUIC clients.com.google.protobuf.UInt32ValueOrBuilder
The number of timeouts that can occur before port migration is triggered for QUIC clients.boolean
Probes the peer at the configured interval to solicit traffic, i.e.boolean
The duration that a QUIC connection stays idle before it closes itself.boolean
Similar to ``initial_stream_window_size``, but for connection-level flow-control.boolean
`Initial stream-level flow-control receive window <https://tools.ietf.org/html/draft-ietf-quic-transport-34#section-4.1>`_ size.boolean
Maximum number of streams that the client can negotiate per connection.boolean
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 Details
-
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
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
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) = { ... }
-