Class AlternateProtocolsCacheOptions

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
io.envoyproxy.envoy.config.core.v3.AlternateProtocolsCacheOptions
All Implemented Interfaces:
com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, AlternateProtocolsCacheOptionsOrBuilder, Serializable

public final class AlternateProtocolsCacheOptions extends com.google.protobuf.GeneratedMessage implements AlternateProtocolsCacheOptionsOrBuilder
 Configures the alternate protocols cache which tracks alternate protocols that can be used to
 make an HTTP connection to an origin server. See https://tools.ietf.org/html/rfc7838 for
 HTTP Alternative Services and https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-svcb-https-04
 for the "HTTPS" DNS resource record.
 [#next-free-field: 6]
 
Protobuf type envoy.config.core.v3.AlternateProtocolsCacheOptions
See Also:
  • Field Details

  • Constructor Details

    • AlternateProtocolsCacheOptions

      private AlternateProtocolsCacheOptions(com.google.protobuf.GeneratedMessage.Builder<?> builder)
    • AlternateProtocolsCacheOptions

      private AlternateProtocolsCacheOptions()
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage
    • getName

      public String getName()
       The name of the cache. Multiple named caches allow independent alternate protocols cache
       configurations to operate within a single Envoy process using different configurations. All
       alternate protocols cache options with the same name *must* be equal in all fields when
       referenced from different configuration components. Configuration will fail to load if this is
       not the case.
       
      string name = 1 [(.validate.rules) = { ... }
      Specified by:
      getName in interface AlternateProtocolsCacheOptionsOrBuilder
      Returns:
      The name.
    • getNameBytes

      public com.google.protobuf.ByteString getNameBytes()
       The name of the cache. Multiple named caches allow independent alternate protocols cache
       configurations to operate within a single Envoy process using different configurations. All
       alternate protocols cache options with the same name *must* be equal in all fields when
       referenced from different configuration components. Configuration will fail to load if this is
       not the case.
       
      string name = 1 [(.validate.rules) = { ... }
      Specified by:
      getNameBytes in interface AlternateProtocolsCacheOptionsOrBuilder
      Returns:
      The bytes for name.
    • hasMaxEntries

      public boolean hasMaxEntries()
       The maximum number of entries that the cache will hold. If not specified defaults to 1024.
      
       .. note:
      
       The implementation is approximate and enforced independently on each worker thread, thus
       it is possible for the maximum entries in the cache to go slightly above the configured
       value depending on timing. This is similar to how other circuit breakers work.
       
      .google.protobuf.UInt32Value max_entries = 2 [(.validate.rules) = { ... }
      Specified by:
      hasMaxEntries in interface AlternateProtocolsCacheOptionsOrBuilder
      Returns:
      Whether the maxEntries field is set.
    • getMaxEntries

      public com.google.protobuf.UInt32Value getMaxEntries()
       The maximum number of entries that the cache will hold. If not specified defaults to 1024.
      
       .. note:
      
       The implementation is approximate and enforced independently on each worker thread, thus
       it is possible for the maximum entries in the cache to go slightly above the configured
       value depending on timing. This is similar to how other circuit breakers work.
       
      .google.protobuf.UInt32Value max_entries = 2 [(.validate.rules) = { ... }
      Specified by:
      getMaxEntries in interface AlternateProtocolsCacheOptionsOrBuilder
      Returns:
      The maxEntries.
    • getMaxEntriesOrBuilder

      public com.google.protobuf.UInt32ValueOrBuilder getMaxEntriesOrBuilder()
       The maximum number of entries that the cache will hold. If not specified defaults to 1024.
      
       .. note:
      
       The implementation is approximate and enforced independently on each worker thread, thus
       it is possible for the maximum entries in the cache to go slightly above the configured
       value depending on timing. This is similar to how other circuit breakers work.
       
      .google.protobuf.UInt32Value max_entries = 2 [(.validate.rules) = { ... }
      Specified by:
      getMaxEntriesOrBuilder in interface AlternateProtocolsCacheOptionsOrBuilder
    • hasKeyValueStoreConfig

      public boolean hasKeyValueStoreConfig()
       Allows configuring a persistent
       :ref:`key value store <envoy_v3_api_msg_config.common.key_value.v3.KeyValueStoreConfig>` to flush
       alternate protocols entries to disk.
       This function is currently only supported if concurrency is 1
       Cached entries will take precedence over pre-populated entries below.
       
      .envoy.config.core.v3.TypedExtensionConfig key_value_store_config = 3;
      Specified by:
      hasKeyValueStoreConfig in interface AlternateProtocolsCacheOptionsOrBuilder
      Returns:
      Whether the keyValueStoreConfig field is set.
    • getKeyValueStoreConfig

      public TypedExtensionConfig getKeyValueStoreConfig()
       Allows configuring a persistent
       :ref:`key value store <envoy_v3_api_msg_config.common.key_value.v3.KeyValueStoreConfig>` to flush
       alternate protocols entries to disk.
       This function is currently only supported if concurrency is 1
       Cached entries will take precedence over pre-populated entries below.
       
      .envoy.config.core.v3.TypedExtensionConfig key_value_store_config = 3;
      Specified by:
      getKeyValueStoreConfig in interface AlternateProtocolsCacheOptionsOrBuilder
      Returns:
      The keyValueStoreConfig.
    • getKeyValueStoreConfigOrBuilder

      public TypedExtensionConfigOrBuilder getKeyValueStoreConfigOrBuilder()
       Allows configuring a persistent
       :ref:`key value store <envoy_v3_api_msg_config.common.key_value.v3.KeyValueStoreConfig>` to flush
       alternate protocols entries to disk.
       This function is currently only supported if concurrency is 1
       Cached entries will take precedence over pre-populated entries below.
       
      .envoy.config.core.v3.TypedExtensionConfig key_value_store_config = 3;
      Specified by:
      getKeyValueStoreConfigOrBuilder in interface AlternateProtocolsCacheOptionsOrBuilder
    • getPrepopulatedEntriesList

       Allows pre-populating the cache with entries, as described above.
       
      repeated .envoy.config.core.v3.AlternateProtocolsCacheOptions.AlternateProtocolsCacheEntry prepopulated_entries = 4;
      Specified by:
      getPrepopulatedEntriesList in interface AlternateProtocolsCacheOptionsOrBuilder
    • getPrepopulatedEntriesOrBuilderList

      public List<? extends AlternateProtocolsCacheOptions.AlternateProtocolsCacheEntryOrBuilder> getPrepopulatedEntriesOrBuilderList()
       Allows pre-populating the cache with entries, as described above.
       
      repeated .envoy.config.core.v3.AlternateProtocolsCacheOptions.AlternateProtocolsCacheEntry prepopulated_entries = 4;
      Specified by:
      getPrepopulatedEntriesOrBuilderList in interface AlternateProtocolsCacheOptionsOrBuilder
    • getPrepopulatedEntriesCount

      public int getPrepopulatedEntriesCount()
       Allows pre-populating the cache with entries, as described above.
       
      repeated .envoy.config.core.v3.AlternateProtocolsCacheOptions.AlternateProtocolsCacheEntry prepopulated_entries = 4;
      Specified by:
      getPrepopulatedEntriesCount in interface AlternateProtocolsCacheOptionsOrBuilder
    • getPrepopulatedEntries

      public AlternateProtocolsCacheOptions.AlternateProtocolsCacheEntry getPrepopulatedEntries(int index)
       Allows pre-populating the cache with entries, as described above.
       
      repeated .envoy.config.core.v3.AlternateProtocolsCacheOptions.AlternateProtocolsCacheEntry prepopulated_entries = 4;
      Specified by:
      getPrepopulatedEntries in interface AlternateProtocolsCacheOptionsOrBuilder
    • getPrepopulatedEntriesOrBuilder

      public AlternateProtocolsCacheOptions.AlternateProtocolsCacheEntryOrBuilder getPrepopulatedEntriesOrBuilder(int index)
       Allows pre-populating the cache with entries, as described above.
       
      repeated .envoy.config.core.v3.AlternateProtocolsCacheOptions.AlternateProtocolsCacheEntry prepopulated_entries = 4;
      Specified by:
      getPrepopulatedEntriesOrBuilder in interface AlternateProtocolsCacheOptionsOrBuilder
    • getCanonicalSuffixesList

      public com.google.protobuf.ProtocolStringList getCanonicalSuffixesList()
       Optional list of hostnames suffixes for which Alt-Svc entries can be shared. For example, if
       this list contained the value ``.c.example.com``, then an Alt-Svc entry for ``foo.c.example.com``
       could be shared with ``bar.c.example.com`` but would not be shared with ``baz.example.com``. On
       the other hand, if the list contained the value ``.example.com`` then all three hosts could share
       Alt-Svc entries. Each entry must start with ``.``. If a hostname matches multiple suffixes, the
       first listed suffix will be used.
      
       Since lookup in this list is O(n), it is recommended that the number of suffixes be limited.
       [#not-implemented-hide:]
       
      repeated string canonical_suffixes = 5;
      Specified by:
      getCanonicalSuffixesList in interface AlternateProtocolsCacheOptionsOrBuilder
      Returns:
      A list containing the canonicalSuffixes.
    • getCanonicalSuffixesCount

      public int getCanonicalSuffixesCount()
       Optional list of hostnames suffixes for which Alt-Svc entries can be shared. For example, if
       this list contained the value ``.c.example.com``, then an Alt-Svc entry for ``foo.c.example.com``
       could be shared with ``bar.c.example.com`` but would not be shared with ``baz.example.com``. On
       the other hand, if the list contained the value ``.example.com`` then all three hosts could share
       Alt-Svc entries. Each entry must start with ``.``. If a hostname matches multiple suffixes, the
       first listed suffix will be used.
      
       Since lookup in this list is O(n), it is recommended that the number of suffixes be limited.
       [#not-implemented-hide:]
       
      repeated string canonical_suffixes = 5;
      Specified by:
      getCanonicalSuffixesCount in interface AlternateProtocolsCacheOptionsOrBuilder
      Returns:
      The count of canonicalSuffixes.
    • getCanonicalSuffixes

      public String getCanonicalSuffixes(int index)
       Optional list of hostnames suffixes for which Alt-Svc entries can be shared. For example, if
       this list contained the value ``.c.example.com``, then an Alt-Svc entry for ``foo.c.example.com``
       could be shared with ``bar.c.example.com`` but would not be shared with ``baz.example.com``. On
       the other hand, if the list contained the value ``.example.com`` then all three hosts could share
       Alt-Svc entries. Each entry must start with ``.``. If a hostname matches multiple suffixes, the
       first listed suffix will be used.
      
       Since lookup in this list is O(n), it is recommended that the number of suffixes be limited.
       [#not-implemented-hide:]
       
      repeated string canonical_suffixes = 5;
      Specified by:
      getCanonicalSuffixes in interface AlternateProtocolsCacheOptionsOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The canonicalSuffixes at the given index.
    • getCanonicalSuffixesBytes

      public com.google.protobuf.ByteString getCanonicalSuffixesBytes(int index)
       Optional list of hostnames suffixes for which Alt-Svc entries can be shared. For example, if
       this list contained the value ``.c.example.com``, then an Alt-Svc entry for ``foo.c.example.com``
       could be shared with ``bar.c.example.com`` but would not be shared with ``baz.example.com``. On
       the other hand, if the list contained the value ``.example.com`` then all three hosts could share
       Alt-Svc entries. Each entry must start with ``.``. If a hostname matches multiple suffixes, the
       first listed suffix will be used.
      
       Since lookup in this list is O(n), it is recommended that the number of suffixes be limited.
       [#not-implemented-hide:]
       
      repeated string canonical_suffixes = 5;
      Specified by:
      getCanonicalSuffixesBytes in interface AlternateProtocolsCacheOptionsOrBuilder
      Parameters:
      index - The index of the value to return.
      Returns:
      The bytes of the canonicalSuffixes at the given index.
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage
    • writeTo

      public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessage
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessage
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface com.google.protobuf.Message
      Overrides:
      equals in class com.google.protobuf.AbstractMessage
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface com.google.protobuf.Message
      Overrides:
      hashCode in class com.google.protobuf.AbstractMessage
    • parseFrom

      public static AlternateProtocolsCacheOptions parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static AlternateProtocolsCacheOptions parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static AlternateProtocolsCacheOptions parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static AlternateProtocolsCacheOptions parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static AlternateProtocolsCacheOptions parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static AlternateProtocolsCacheOptions parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static AlternateProtocolsCacheOptions parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static AlternateProtocolsCacheOptions parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static AlternateProtocolsCacheOptions parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static AlternateProtocolsCacheOptions parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static AlternateProtocolsCacheOptions parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static AlternateProtocolsCacheOptions parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

      public AlternateProtocolsCacheOptions.Builder newBuilderForType()
      Specified by:
      newBuilderForType in interface com.google.protobuf.Message
      Specified by:
      newBuilderForType in interface com.google.protobuf.MessageLite
    • newBuilder

      public static AlternateProtocolsCacheOptions.Builder newBuilder()
    • newBuilder

    • toBuilder

      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected AlternateProtocolsCacheOptions.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
      Overrides:
      newBuilderForType in class com.google.protobuf.AbstractMessage
    • getDefaultInstance

      public static AlternateProtocolsCacheOptions getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<AlternateProtocolsCacheOptions> parser()
    • getParserForType

      public com.google.protobuf.Parser<AlternateProtocolsCacheOptions> getParserForType()
      Specified by:
      getParserForType in interface com.google.protobuf.Message
      Specified by:
      getParserForType in interface com.google.protobuf.MessageLite
      Overrides:
      getParserForType in class com.google.protobuf.GeneratedMessage
    • getDefaultInstanceForType

      public AlternateProtocolsCacheOptions getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder