Interface Http2ProtocolOptionsOrBuilder

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

public interface Http2ProtocolOptionsOrBuilder extends com.google.protobuf.MessageOrBuilder
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Allows proxying Websocket and other upgrades over H2 connect.
    boolean
    [#not-implemented-hide:] Hiding until envoy has full metadata support.
    [#not-implemented-hide:] Specifies SETTINGS frame parameters to be sent to the peer, with two exceptions: 1.
    int
    [#not-implemented-hide:] Specifies SETTINGS frame parameters to be sent to the peer, with two exceptions: 1.
    [#not-implemented-hide:] Specifies SETTINGS frame parameters to be sent to the peer, with two exceptions: 1.
    [#not-implemented-hide:] Specifies SETTINGS frame parameters to be sent to the peer, with two exceptions: 1.
    [#not-implemented-hide:] Specifies SETTINGS frame parameters to be sent to the peer, with two exceptions: 1.
    com.google.protobuf.UInt32Value
    `Maximum table size <https://httpwg.org/specs/rfc7541.html#rfc.section.4.2>`_ (in octets) that the encoder is permitted to use for the dynamic HPACK table.
    com.google.protobuf.UInt32ValueOrBuilder
    `Maximum table size <https://httpwg.org/specs/rfc7541.html#rfc.section.4.2>`_ (in octets) that the encoder is permitted to use for the dynamic HPACK table.
    com.google.protobuf.UInt32Value
    Similar to *initial_stream_window_size*, but for connection-level flow-control window.
    com.google.protobuf.UInt32ValueOrBuilder
    Similar to *initial_stream_window_size*, but for connection-level flow-control window.
    com.google.protobuf.UInt32Value
    `Initial stream-level flow-control window <https://httpwg.org/specs/rfc7540.html#rfc.section.6.9.2>`_ size.
    com.google.protobuf.UInt32ValueOrBuilder
    `Initial stream-level flow-control window <https://httpwg.org/specs/rfc7540.html#rfc.section.6.9.2>`_ size.
    com.google.protobuf.UInt32Value
    `Maximum concurrent streams <https://httpwg.org/specs/rfc7540.html#rfc.section.5.1.2>`_ allowed for peer on one HTTP/2 connection.
    com.google.protobuf.UInt32ValueOrBuilder
    `Maximum concurrent streams <https://httpwg.org/specs/rfc7540.html#rfc.section.5.1.2>`_ allowed for peer on one HTTP/2 connection.
    com.google.protobuf.UInt32Value
    Limit the number of consecutive inbound frames of types HEADERS, CONTINUATION and DATA with an empty payload and no end stream flag.
    com.google.protobuf.UInt32ValueOrBuilder
    Limit the number of consecutive inbound frames of types HEADERS, CONTINUATION and DATA with an empty payload and no end stream flag.
    com.google.protobuf.UInt32Value
    Limit the number of inbound PRIORITY frames allowed per each opened stream.
    com.google.protobuf.UInt32ValueOrBuilder
    Limit the number of inbound PRIORITY frames allowed per each opened stream.
    com.google.protobuf.UInt32Value
    Limit the number of inbound WINDOW_UPDATE frames allowed per DATA frame sent.
    com.google.protobuf.UInt32ValueOrBuilder
    Limit the number of inbound WINDOW_UPDATE frames allowed per DATA frame sent.
    com.google.protobuf.UInt32Value
    Limit the number of pending outbound downstream frames of types PING, SETTINGS and RST_STREAM, preventing high memory utilization when receiving continuous stream of these frames.
    com.google.protobuf.UInt32ValueOrBuilder
    Limit the number of pending outbound downstream frames of types PING, SETTINGS and RST_STREAM, preventing high memory utilization when receiving continuous stream of these frames.
    com.google.protobuf.UInt32Value
    Limit the number of pending outbound downstream frames of all types (frames that are waiting to be written into the socket).
    com.google.protobuf.UInt32ValueOrBuilder
    Limit the number of pending outbound downstream frames of all types (frames that are waiting to be written into the socket).
    boolean
    Allows invalid HTTP messaging and headers.
    boolean
    `Maximum table size <https://httpwg.org/specs/rfc7541.html#rfc.section.4.2>`_ (in octets) that the encoder is permitted to use for the dynamic HPACK table.
    boolean
    Similar to *initial_stream_window_size*, but for connection-level flow-control window.
    boolean
    `Initial stream-level flow-control window <https://httpwg.org/specs/rfc7540.html#rfc.section.6.9.2>`_ size.
    boolean
    `Maximum concurrent streams <https://httpwg.org/specs/rfc7540.html#rfc.section.5.1.2>`_ allowed for peer on one HTTP/2 connection.
    boolean
    Limit the number of consecutive inbound frames of types HEADERS, CONTINUATION and DATA with an empty payload and no end stream flag.
    boolean
    Limit the number of inbound PRIORITY frames allowed per each opened stream.
    boolean
    Limit the number of inbound WINDOW_UPDATE frames allowed per DATA frame sent.
    boolean
    Limit the number of pending outbound downstream frames of types PING, SETTINGS and RST_STREAM, preventing high memory utilization when receiving continuous stream of these frames.
    boolean
    Limit the number of pending outbound downstream frames of all types (frames that are waiting to be written into the socket).

    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

    • hasHpackTableSize

      boolean hasHpackTableSize()
       `Maximum table size <https://httpwg.org/specs/rfc7541.html#rfc.section.4.2>`_
       (in octets) that the encoder is permitted to use for the dynamic HPACK table. Valid values
       range from 0 to 4294967295 (2^32 - 1) and defaults to 4096. 0 effectively disables header
       compression.
       
      .google.protobuf.UInt32Value hpack_table_size = 1;
      Returns:
      Whether the hpackTableSize field is set.
    • getHpackTableSize

      com.google.protobuf.UInt32Value getHpackTableSize()
       `Maximum table size <https://httpwg.org/specs/rfc7541.html#rfc.section.4.2>`_
       (in octets) that the encoder is permitted to use for the dynamic HPACK table. Valid values
       range from 0 to 4294967295 (2^32 - 1) and defaults to 4096. 0 effectively disables header
       compression.
       
      .google.protobuf.UInt32Value hpack_table_size = 1;
      Returns:
      The hpackTableSize.
    • getHpackTableSizeOrBuilder

      com.google.protobuf.UInt32ValueOrBuilder getHpackTableSizeOrBuilder()
       `Maximum table size <https://httpwg.org/specs/rfc7541.html#rfc.section.4.2>`_
       (in octets) that the encoder is permitted to use for the dynamic HPACK table. Valid values
       range from 0 to 4294967295 (2^32 - 1) and defaults to 4096. 0 effectively disables header
       compression.
       
      .google.protobuf.UInt32Value hpack_table_size = 1;
    • hasMaxConcurrentStreams

      boolean hasMaxConcurrentStreams()
       `Maximum concurrent streams <https://httpwg.org/specs/rfc7540.html#rfc.section.5.1.2>`_
       allowed for peer on one HTTP/2 connection. Valid values range from 1 to 2147483647 (2^31 - 1)
       and defaults to 2147483647.
      
       For upstream connections, this also limits how many streams Envoy will initiate concurrently
       on a single connection. If the limit is reached, Envoy may queue requests or establish
       additional connections (as allowed per circuit breaker limits).
       
      .google.protobuf.UInt32Value max_concurrent_streams = 2 [(.validate.rules) = { ... }
      Returns:
      Whether the maxConcurrentStreams field is set.
    • getMaxConcurrentStreams

      com.google.protobuf.UInt32Value getMaxConcurrentStreams()
       `Maximum concurrent streams <https://httpwg.org/specs/rfc7540.html#rfc.section.5.1.2>`_
       allowed for peer on one HTTP/2 connection. Valid values range from 1 to 2147483647 (2^31 - 1)
       and defaults to 2147483647.
      
       For upstream connections, this also limits how many streams Envoy will initiate concurrently
       on a single connection. If the limit is reached, Envoy may queue requests or establish
       additional connections (as allowed per circuit breaker limits).
       
      .google.protobuf.UInt32Value max_concurrent_streams = 2 [(.validate.rules) = { ... }
      Returns:
      The maxConcurrentStreams.
    • getMaxConcurrentStreamsOrBuilder

      com.google.protobuf.UInt32ValueOrBuilder getMaxConcurrentStreamsOrBuilder()
       `Maximum concurrent streams <https://httpwg.org/specs/rfc7540.html#rfc.section.5.1.2>`_
       allowed for peer on one HTTP/2 connection. Valid values range from 1 to 2147483647 (2^31 - 1)
       and defaults to 2147483647.
      
       For upstream connections, this also limits how many streams Envoy will initiate concurrently
       on a single connection. If the limit is reached, Envoy may queue requests or establish
       additional connections (as allowed per circuit breaker limits).
       
      .google.protobuf.UInt32Value max_concurrent_streams = 2 [(.validate.rules) = { ... }
    • hasInitialStreamWindowSize

      boolean hasInitialStreamWindowSize()
       `Initial stream-level flow-control window
       <https://httpwg.org/specs/rfc7540.html#rfc.section.6.9.2>`_ size. Valid values range from 65535
       (2^16 - 1, HTTP/2 default) to 2147483647 (2^31 - 1, HTTP/2 maximum) and defaults to 268435456
       (256 * 1024 * 1024).
      
       NOTE: 65535 is the initial window size from HTTP/2 spec. 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
       HTTP/2 codec buffers. Once the buffer reaches this pointer, watermark callbacks will fire to
       stop the flow of data to the codec buffers.
       
      .google.protobuf.UInt32Value initial_stream_window_size = 3 [(.validate.rules) = { ... }
      Returns:
      Whether the initialStreamWindowSize field is set.
    • getInitialStreamWindowSize

      com.google.protobuf.UInt32Value getInitialStreamWindowSize()
       `Initial stream-level flow-control window
       <https://httpwg.org/specs/rfc7540.html#rfc.section.6.9.2>`_ size. Valid values range from 65535
       (2^16 - 1, HTTP/2 default) to 2147483647 (2^31 - 1, HTTP/2 maximum) and defaults to 268435456
       (256 * 1024 * 1024).
      
       NOTE: 65535 is the initial window size from HTTP/2 spec. 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
       HTTP/2 codec buffers. Once the buffer reaches this pointer, watermark callbacks will fire to
       stop the flow of data to the codec buffers.
       
      .google.protobuf.UInt32Value initial_stream_window_size = 3 [(.validate.rules) = { ... }
      Returns:
      The initialStreamWindowSize.
    • getInitialStreamWindowSizeOrBuilder

      com.google.protobuf.UInt32ValueOrBuilder getInitialStreamWindowSizeOrBuilder()
       `Initial stream-level flow-control window
       <https://httpwg.org/specs/rfc7540.html#rfc.section.6.9.2>`_ size. Valid values range from 65535
       (2^16 - 1, HTTP/2 default) to 2147483647 (2^31 - 1, HTTP/2 maximum) and defaults to 268435456
       (256 * 1024 * 1024).
      
       NOTE: 65535 is the initial window size from HTTP/2 spec. 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
       HTTP/2 codec buffers. Once the buffer reaches this pointer, watermark callbacks will fire to
       stop the flow of data to the codec buffers.
       
      .google.protobuf.UInt32Value initial_stream_window_size = 3 [(.validate.rules) = { ... }
    • hasInitialConnectionWindowSize

      boolean hasInitialConnectionWindowSize()
       Similar to *initial_stream_window_size*, but for connection-level flow-control
       window. Currently, this has the same minimum/maximum/default as *initial_stream_window_size*.
       
      .google.protobuf.UInt32Value initial_connection_window_size = 4 [(.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
       window. Currently, this has the same minimum/maximum/default as *initial_stream_window_size*.
       
      .google.protobuf.UInt32Value initial_connection_window_size = 4 [(.validate.rules) = { ... }
      Returns:
      The initialConnectionWindowSize.
    • getInitialConnectionWindowSizeOrBuilder

      com.google.protobuf.UInt32ValueOrBuilder getInitialConnectionWindowSizeOrBuilder()
       Similar to *initial_stream_window_size*, but for connection-level flow-control
       window. Currently, this has the same minimum/maximum/default as *initial_stream_window_size*.
       
      .google.protobuf.UInt32Value initial_connection_window_size = 4 [(.validate.rules) = { ... }
    • getAllowConnect

      boolean getAllowConnect()
       Allows proxying Websocket and other upgrades over H2 connect.
       
      bool allow_connect = 5;
      Returns:
      The allowConnect.
    • getAllowMetadata

      boolean getAllowMetadata()
       [#not-implemented-hide:] Hiding until envoy has full metadata support.
       Still under implementation. DO NOT USE.
      
       Allows metadata. See [metadata
       docs](https://github.com/envoyproxy/envoy/blob/main/source/docs/h2_metadata.md) for more
       information.
       
      bool allow_metadata = 6;
      Returns:
      The allowMetadata.
    • hasMaxOutboundFrames

      boolean hasMaxOutboundFrames()
       Limit the number of pending outbound downstream frames of all types (frames that are waiting to
       be written into the socket). Exceeding this limit triggers flood mitigation and connection is
       terminated. The ``http2.outbound_flood`` stat tracks the number of terminated connections due
       to flood mitigation. The default limit is 10000.
       [#comment:TODO: implement same limits for upstream outbound frames as well.]
       
      .google.protobuf.UInt32Value max_outbound_frames = 7 [(.validate.rules) = { ... }
      Returns:
      Whether the maxOutboundFrames field is set.
    • getMaxOutboundFrames

      com.google.protobuf.UInt32Value getMaxOutboundFrames()
       Limit the number of pending outbound downstream frames of all types (frames that are waiting to
       be written into the socket). Exceeding this limit triggers flood mitigation and connection is
       terminated. The ``http2.outbound_flood`` stat tracks the number of terminated connections due
       to flood mitigation. The default limit is 10000.
       [#comment:TODO: implement same limits for upstream outbound frames as well.]
       
      .google.protobuf.UInt32Value max_outbound_frames = 7 [(.validate.rules) = { ... }
      Returns:
      The maxOutboundFrames.
    • getMaxOutboundFramesOrBuilder

      com.google.protobuf.UInt32ValueOrBuilder getMaxOutboundFramesOrBuilder()
       Limit the number of pending outbound downstream frames of all types (frames that are waiting to
       be written into the socket). Exceeding this limit triggers flood mitigation and connection is
       terminated. The ``http2.outbound_flood`` stat tracks the number of terminated connections due
       to flood mitigation. The default limit is 10000.
       [#comment:TODO: implement same limits for upstream outbound frames as well.]
       
      .google.protobuf.UInt32Value max_outbound_frames = 7 [(.validate.rules) = { ... }
    • hasMaxOutboundControlFrames

      boolean hasMaxOutboundControlFrames()
       Limit the number of pending outbound downstream frames of types PING, SETTINGS and RST_STREAM,
       preventing high memory utilization when receiving continuous stream of these frames. Exceeding
       this limit triggers flood mitigation and connection is terminated. The
       ``http2.outbound_control_flood`` stat tracks the number of terminated connections due to flood
       mitigation. The default limit is 1000.
       [#comment:TODO: implement same limits for upstream outbound frames as well.]
       
      .google.protobuf.UInt32Value max_outbound_control_frames = 8 [(.validate.rules) = { ... }
      Returns:
      Whether the maxOutboundControlFrames field is set.
    • getMaxOutboundControlFrames

      com.google.protobuf.UInt32Value getMaxOutboundControlFrames()
       Limit the number of pending outbound downstream frames of types PING, SETTINGS and RST_STREAM,
       preventing high memory utilization when receiving continuous stream of these frames. Exceeding
       this limit triggers flood mitigation and connection is terminated. The
       ``http2.outbound_control_flood`` stat tracks the number of terminated connections due to flood
       mitigation. The default limit is 1000.
       [#comment:TODO: implement same limits for upstream outbound frames as well.]
       
      .google.protobuf.UInt32Value max_outbound_control_frames = 8 [(.validate.rules) = { ... }
      Returns:
      The maxOutboundControlFrames.
    • getMaxOutboundControlFramesOrBuilder

      com.google.protobuf.UInt32ValueOrBuilder getMaxOutboundControlFramesOrBuilder()
       Limit the number of pending outbound downstream frames of types PING, SETTINGS and RST_STREAM,
       preventing high memory utilization when receiving continuous stream of these frames. Exceeding
       this limit triggers flood mitigation and connection is terminated. The
       ``http2.outbound_control_flood`` stat tracks the number of terminated connections due to flood
       mitigation. The default limit is 1000.
       [#comment:TODO: implement same limits for upstream outbound frames as well.]
       
      .google.protobuf.UInt32Value max_outbound_control_frames = 8 [(.validate.rules) = { ... }
    • hasMaxConsecutiveInboundFramesWithEmptyPayload

      boolean hasMaxConsecutiveInboundFramesWithEmptyPayload()
       Limit the number of consecutive inbound frames of types HEADERS, CONTINUATION and DATA with an
       empty payload and no end stream flag. Those frames have no legitimate use and are abusive, but
       might be a result of a broken HTTP/2 implementation. The `http2.inbound_empty_frames_flood``
       stat tracks the number of connections terminated due to flood mitigation.
       Setting this to 0 will terminate connection upon receiving first frame with an empty payload
       and no end stream flag. The default limit is 1.
       [#comment:TODO: implement same limits for upstream inbound frames as well.]
       
      .google.protobuf.UInt32Value max_consecutive_inbound_frames_with_empty_payload = 9;
      Returns:
      Whether the maxConsecutiveInboundFramesWithEmptyPayload field is set.
    • getMaxConsecutiveInboundFramesWithEmptyPayload

      com.google.protobuf.UInt32Value getMaxConsecutiveInboundFramesWithEmptyPayload()
       Limit the number of consecutive inbound frames of types HEADERS, CONTINUATION and DATA with an
       empty payload and no end stream flag. Those frames have no legitimate use and are abusive, but
       might be a result of a broken HTTP/2 implementation. The `http2.inbound_empty_frames_flood``
       stat tracks the number of connections terminated due to flood mitigation.
       Setting this to 0 will terminate connection upon receiving first frame with an empty payload
       and no end stream flag. The default limit is 1.
       [#comment:TODO: implement same limits for upstream inbound frames as well.]
       
      .google.protobuf.UInt32Value max_consecutive_inbound_frames_with_empty_payload = 9;
      Returns:
      The maxConsecutiveInboundFramesWithEmptyPayload.
    • getMaxConsecutiveInboundFramesWithEmptyPayloadOrBuilder

      com.google.protobuf.UInt32ValueOrBuilder getMaxConsecutiveInboundFramesWithEmptyPayloadOrBuilder()
       Limit the number of consecutive inbound frames of types HEADERS, CONTINUATION and DATA with an
       empty payload and no end stream flag. Those frames have no legitimate use and are abusive, but
       might be a result of a broken HTTP/2 implementation. The `http2.inbound_empty_frames_flood``
       stat tracks the number of connections terminated due to flood mitigation.
       Setting this to 0 will terminate connection upon receiving first frame with an empty payload
       and no end stream flag. The default limit is 1.
       [#comment:TODO: implement same limits for upstream inbound frames as well.]
       
      .google.protobuf.UInt32Value max_consecutive_inbound_frames_with_empty_payload = 9;
    • hasMaxInboundPriorityFramesPerStream

      boolean hasMaxInboundPriorityFramesPerStream()
       Limit the number of inbound PRIORITY frames allowed per each opened stream. If the number
       of PRIORITY frames received over the lifetime of connection exceeds the value calculated
       using this formula::
      
           max_inbound_priority_frames_per_stream * (1 + inbound_streams)
      
       the connection is terminated. The ``http2.inbound_priority_frames_flood`` stat tracks
       the number of connections terminated due to flood mitigation. The default limit is 100.
       [#comment:TODO: implement same limits for upstream inbound frames as well.]
       
      .google.protobuf.UInt32Value max_inbound_priority_frames_per_stream = 10;
      Returns:
      Whether the maxInboundPriorityFramesPerStream field is set.
    • getMaxInboundPriorityFramesPerStream

      com.google.protobuf.UInt32Value getMaxInboundPriorityFramesPerStream()
       Limit the number of inbound PRIORITY frames allowed per each opened stream. If the number
       of PRIORITY frames received over the lifetime of connection exceeds the value calculated
       using this formula::
      
           max_inbound_priority_frames_per_stream * (1 + inbound_streams)
      
       the connection is terminated. The ``http2.inbound_priority_frames_flood`` stat tracks
       the number of connections terminated due to flood mitigation. The default limit is 100.
       [#comment:TODO: implement same limits for upstream inbound frames as well.]
       
      .google.protobuf.UInt32Value max_inbound_priority_frames_per_stream = 10;
      Returns:
      The maxInboundPriorityFramesPerStream.
    • getMaxInboundPriorityFramesPerStreamOrBuilder

      com.google.protobuf.UInt32ValueOrBuilder getMaxInboundPriorityFramesPerStreamOrBuilder()
       Limit the number of inbound PRIORITY frames allowed per each opened stream. If the number
       of PRIORITY frames received over the lifetime of connection exceeds the value calculated
       using this formula::
      
           max_inbound_priority_frames_per_stream * (1 + inbound_streams)
      
       the connection is terminated. The ``http2.inbound_priority_frames_flood`` stat tracks
       the number of connections terminated due to flood mitigation. The default limit is 100.
       [#comment:TODO: implement same limits for upstream inbound frames as well.]
       
      .google.protobuf.UInt32Value max_inbound_priority_frames_per_stream = 10;
    • hasMaxInboundWindowUpdateFramesPerDataFrameSent

      boolean hasMaxInboundWindowUpdateFramesPerDataFrameSent()
       Limit the number of inbound WINDOW_UPDATE frames allowed per DATA frame sent. If the number
       of WINDOW_UPDATE frames received over the lifetime of connection exceeds the value calculated
       using this formula::
      
           1 + 2 * (inbound_streams +
                    max_inbound_window_update_frames_per_data_frame_sent * outbound_data_frames)
      
       the connection is terminated. The ``http2.inbound_priority_frames_flood`` stat tracks
       the number of connections terminated due to flood mitigation. The default limit is 10.
       Setting this to 1 should be enough to support HTTP/2 implementations with basic flow control,
       but more complex implementations that try to estimate available bandwidth require at least 2.
       [#comment:TODO: implement same limits for upstream inbound frames as well.]
       
      .google.protobuf.UInt32Value max_inbound_window_update_frames_per_data_frame_sent = 11 [(.validate.rules) = { ... }
      Returns:
      Whether the maxInboundWindowUpdateFramesPerDataFrameSent field is set.
    • getMaxInboundWindowUpdateFramesPerDataFrameSent

      com.google.protobuf.UInt32Value getMaxInboundWindowUpdateFramesPerDataFrameSent()
       Limit the number of inbound WINDOW_UPDATE frames allowed per DATA frame sent. If the number
       of WINDOW_UPDATE frames received over the lifetime of connection exceeds the value calculated
       using this formula::
      
           1 + 2 * (inbound_streams +
                    max_inbound_window_update_frames_per_data_frame_sent * outbound_data_frames)
      
       the connection is terminated. The ``http2.inbound_priority_frames_flood`` stat tracks
       the number of connections terminated due to flood mitigation. The default limit is 10.
       Setting this to 1 should be enough to support HTTP/2 implementations with basic flow control,
       but more complex implementations that try to estimate available bandwidth require at least 2.
       [#comment:TODO: implement same limits for upstream inbound frames as well.]
       
      .google.protobuf.UInt32Value max_inbound_window_update_frames_per_data_frame_sent = 11 [(.validate.rules) = { ... }
      Returns:
      The maxInboundWindowUpdateFramesPerDataFrameSent.
    • getMaxInboundWindowUpdateFramesPerDataFrameSentOrBuilder

      com.google.protobuf.UInt32ValueOrBuilder getMaxInboundWindowUpdateFramesPerDataFrameSentOrBuilder()
       Limit the number of inbound WINDOW_UPDATE frames allowed per DATA frame sent. If the number
       of WINDOW_UPDATE frames received over the lifetime of connection exceeds the value calculated
       using this formula::
      
           1 + 2 * (inbound_streams +
                    max_inbound_window_update_frames_per_data_frame_sent * outbound_data_frames)
      
       the connection is terminated. The ``http2.inbound_priority_frames_flood`` stat tracks
       the number of connections terminated due to flood mitigation. The default limit is 10.
       Setting this to 1 should be enough to support HTTP/2 implementations with basic flow control,
       but more complex implementations that try to estimate available bandwidth require at least 2.
       [#comment:TODO: implement same limits for upstream inbound frames as well.]
       
      .google.protobuf.UInt32Value max_inbound_window_update_frames_per_data_frame_sent = 11 [(.validate.rules) = { ... }
    • getStreamErrorOnInvalidHttpMessaging

      boolean getStreamErrorOnInvalidHttpMessaging()
       Allows invalid HTTP messaging and headers. When this option is disabled (default), then
       the whole HTTP/2 connection is terminated upon receiving invalid HEADERS frame. However,
       when this option is enabled, only the offending stream is terminated.
      
       See `RFC7540, sec. 8.1 <https://tools.ietf.org/html/rfc7540#section-8.1>`_ for details.
       
      bool stream_error_on_invalid_http_messaging = 12;
      Returns:
      The streamErrorOnInvalidHttpMessaging.
    • getCustomSettingsParametersList

      List<Http2ProtocolOptions.SettingsParameter> getCustomSettingsParametersList()
       [#not-implemented-hide:]
       Specifies SETTINGS frame parameters to be sent to the peer, with two exceptions:
      
       1. SETTINGS_ENABLE_PUSH (0x2) is not configurable as HTTP/2 server push is not supported by
       Envoy.
      
       2. SETTINGS_ENABLE_CONNECT_PROTOCOL (0x8) is only configurable through the named field
       'allow_connect'.
      
       Note that custom parameters specified through this field can not also be set in the
       corresponding named parameters:
      
       .. code-block:: text
      
         ID    Field Name
         ----------------
         0x1   hpack_table_size
         0x3   max_concurrent_streams
         0x4   initial_stream_window_size
      
       Collisions will trigger config validation failure on load/update. Likewise, inconsistencies
       between custom parameters with the same identifier will trigger a failure.
      
       See `IANA HTTP/2 Settings
       <https://www.iana.org/assignments/http2-parameters/http2-parameters.xhtml#settings>`_ for
       standardized identifiers.
       
      repeated .envoy.api.v2.core.Http2ProtocolOptions.SettingsParameter custom_settings_parameters = 13;
    • getCustomSettingsParameters

      Http2ProtocolOptions.SettingsParameter getCustomSettingsParameters(int index)
       [#not-implemented-hide:]
       Specifies SETTINGS frame parameters to be sent to the peer, with two exceptions:
      
       1. SETTINGS_ENABLE_PUSH (0x2) is not configurable as HTTP/2 server push is not supported by
       Envoy.
      
       2. SETTINGS_ENABLE_CONNECT_PROTOCOL (0x8) is only configurable through the named field
       'allow_connect'.
      
       Note that custom parameters specified through this field can not also be set in the
       corresponding named parameters:
      
       .. code-block:: text
      
         ID    Field Name
         ----------------
         0x1   hpack_table_size
         0x3   max_concurrent_streams
         0x4   initial_stream_window_size
      
       Collisions will trigger config validation failure on load/update. Likewise, inconsistencies
       between custom parameters with the same identifier will trigger a failure.
      
       See `IANA HTTP/2 Settings
       <https://www.iana.org/assignments/http2-parameters/http2-parameters.xhtml#settings>`_ for
       standardized identifiers.
       
      repeated .envoy.api.v2.core.Http2ProtocolOptions.SettingsParameter custom_settings_parameters = 13;
    • getCustomSettingsParametersCount

      int getCustomSettingsParametersCount()
       [#not-implemented-hide:]
       Specifies SETTINGS frame parameters to be sent to the peer, with two exceptions:
      
       1. SETTINGS_ENABLE_PUSH (0x2) is not configurable as HTTP/2 server push is not supported by
       Envoy.
      
       2. SETTINGS_ENABLE_CONNECT_PROTOCOL (0x8) is only configurable through the named field
       'allow_connect'.
      
       Note that custom parameters specified through this field can not also be set in the
       corresponding named parameters:
      
       .. code-block:: text
      
         ID    Field Name
         ----------------
         0x1   hpack_table_size
         0x3   max_concurrent_streams
         0x4   initial_stream_window_size
      
       Collisions will trigger config validation failure on load/update. Likewise, inconsistencies
       between custom parameters with the same identifier will trigger a failure.
      
       See `IANA HTTP/2 Settings
       <https://www.iana.org/assignments/http2-parameters/http2-parameters.xhtml#settings>`_ for
       standardized identifiers.
       
      repeated .envoy.api.v2.core.Http2ProtocolOptions.SettingsParameter custom_settings_parameters = 13;
    • getCustomSettingsParametersOrBuilderList

      List<? extends Http2ProtocolOptions.SettingsParameterOrBuilder> getCustomSettingsParametersOrBuilderList()
       [#not-implemented-hide:]
       Specifies SETTINGS frame parameters to be sent to the peer, with two exceptions:
      
       1. SETTINGS_ENABLE_PUSH (0x2) is not configurable as HTTP/2 server push is not supported by
       Envoy.
      
       2. SETTINGS_ENABLE_CONNECT_PROTOCOL (0x8) is only configurable through the named field
       'allow_connect'.
      
       Note that custom parameters specified through this field can not also be set in the
       corresponding named parameters:
      
       .. code-block:: text
      
         ID    Field Name
         ----------------
         0x1   hpack_table_size
         0x3   max_concurrent_streams
         0x4   initial_stream_window_size
      
       Collisions will trigger config validation failure on load/update. Likewise, inconsistencies
       between custom parameters with the same identifier will trigger a failure.
      
       See `IANA HTTP/2 Settings
       <https://www.iana.org/assignments/http2-parameters/http2-parameters.xhtml#settings>`_ for
       standardized identifiers.
       
      repeated .envoy.api.v2.core.Http2ProtocolOptions.SettingsParameter custom_settings_parameters = 13;
    • getCustomSettingsParametersOrBuilder

      Http2ProtocolOptions.SettingsParameterOrBuilder getCustomSettingsParametersOrBuilder(int index)
       [#not-implemented-hide:]
       Specifies SETTINGS frame parameters to be sent to the peer, with two exceptions:
      
       1. SETTINGS_ENABLE_PUSH (0x2) is not configurable as HTTP/2 server push is not supported by
       Envoy.
      
       2. SETTINGS_ENABLE_CONNECT_PROTOCOL (0x8) is only configurable through the named field
       'allow_connect'.
      
       Note that custom parameters specified through this field can not also be set in the
       corresponding named parameters:
      
       .. code-block:: text
      
         ID    Field Name
         ----------------
         0x1   hpack_table_size
         0x3   max_concurrent_streams
         0x4   initial_stream_window_size
      
       Collisions will trigger config validation failure on load/update. Likewise, inconsistencies
       between custom parameters with the same identifier will trigger a failure.
      
       See `IANA HTTP/2 Settings
       <https://www.iana.org/assignments/http2-parameters/http2-parameters.xhtml#settings>`_ for
       standardized identifiers.
       
      repeated .envoy.api.v2.core.Http2ProtocolOptions.SettingsParameter custom_settings_parameters = 13;