Class LocalRateLimit

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, LocalRateLimitOrBuilder, Serializable

    public final class LocalRateLimit
    extends com.google.protobuf.GeneratedMessageV3
    implements LocalRateLimitOrBuilder
    Protobuf type envoy.extensions.filters.network.local_ratelimit.v3.LocalRateLimit
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  LocalRateLimit.Builder
      Protobuf type envoy.extensions.filters.network.local_ratelimit.v3.LocalRateLimit
      • Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3

        com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage,​BuilderType extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType,​BuilderType>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter
      • Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

        com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
    • Field Detail

      • STAT_PREFIX_FIELD_NUMBER

        public static final int STAT_PREFIX_FIELD_NUMBER
        See Also:
        Constant Field Values
      • TOKEN_BUCKET_FIELD_NUMBER

        public static final int TOKEN_BUCKET_FIELD_NUMBER
        See Also:
        Constant Field Values
      • RUNTIME_ENABLED_FIELD_NUMBER

        public static final int RUNTIME_ENABLED_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getUnknownFields

        public final com.google.protobuf.UnknownFieldSet getUnknownFields()
        Specified by:
        getUnknownFields in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getUnknownFields in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

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

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getStatPrefix

        public String getStatPrefix()
         The prefix to use when emitting :ref:`statistics
         <config_network_filters_local_rate_limit_stats>`.
         
        string stat_prefix = 1 [(.validate.rules) = { ... }
        Specified by:
        getStatPrefix in interface LocalRateLimitOrBuilder
        Returns:
        The statPrefix.
      • getStatPrefixBytes

        public com.google.protobuf.ByteString getStatPrefixBytes()
         The prefix to use when emitting :ref:`statistics
         <config_network_filters_local_rate_limit_stats>`.
         
        string stat_prefix = 1 [(.validate.rules) = { ... }
        Specified by:
        getStatPrefixBytes in interface LocalRateLimitOrBuilder
        Returns:
        The bytes for statPrefix.
      • hasTokenBucket

        public boolean hasTokenBucket()
         The token bucket configuration to use for rate limiting connections that are processed by the
         filter's filter chain. Each incoming connection processed by the filter consumes a single
         token. If the token is available, the connection will be allowed. If no tokens are available,
         the connection will be immediately closed.
         .. note::
           In the current implementation each filter and filter chain has an independent rate limit, unless
           a shared rate limit is configured via :ref:`share_key <envoy_v3_api_field_extensions.filters.network.local_ratelimit.v3.LocalRateLimit.share_key>`.
         .. note::
           In the current implementation the token bucket's :ref:`fill_interval
           <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be >= 50ms to avoid too aggressive
           refills.
         
        .envoy.type.v3.TokenBucket token_bucket = 2 [(.validate.rules) = { ... }
        Specified by:
        hasTokenBucket in interface LocalRateLimitOrBuilder
        Returns:
        Whether the tokenBucket field is set.
      • getTokenBucket

        public TokenBucket getTokenBucket()
         The token bucket configuration to use for rate limiting connections that are processed by the
         filter's filter chain. Each incoming connection processed by the filter consumes a single
         token. If the token is available, the connection will be allowed. If no tokens are available,
         the connection will be immediately closed.
         .. note::
           In the current implementation each filter and filter chain has an independent rate limit, unless
           a shared rate limit is configured via :ref:`share_key <envoy_v3_api_field_extensions.filters.network.local_ratelimit.v3.LocalRateLimit.share_key>`.
         .. note::
           In the current implementation the token bucket's :ref:`fill_interval
           <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be >= 50ms to avoid too aggressive
           refills.
         
        .envoy.type.v3.TokenBucket token_bucket = 2 [(.validate.rules) = { ... }
        Specified by:
        getTokenBucket in interface LocalRateLimitOrBuilder
        Returns:
        The tokenBucket.
      • getTokenBucketOrBuilder

        public TokenBucketOrBuilder getTokenBucketOrBuilder()
         The token bucket configuration to use for rate limiting connections that are processed by the
         filter's filter chain. Each incoming connection processed by the filter consumes a single
         token. If the token is available, the connection will be allowed. If no tokens are available,
         the connection will be immediately closed.
         .. note::
           In the current implementation each filter and filter chain has an independent rate limit, unless
           a shared rate limit is configured via :ref:`share_key <envoy_v3_api_field_extensions.filters.network.local_ratelimit.v3.LocalRateLimit.share_key>`.
         .. note::
           In the current implementation the token bucket's :ref:`fill_interval
           <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be >= 50ms to avoid too aggressive
           refills.
         
        .envoy.type.v3.TokenBucket token_bucket = 2 [(.validate.rules) = { ... }
        Specified by:
        getTokenBucketOrBuilder in interface LocalRateLimitOrBuilder
      • hasRuntimeEnabled

        public boolean hasRuntimeEnabled()
         Runtime flag that controls whether the filter is enabled or not. If not specified, defaults
         to enabled.
         
        .envoy.config.core.v3.RuntimeFeatureFlag runtime_enabled = 3;
        Specified by:
        hasRuntimeEnabled in interface LocalRateLimitOrBuilder
        Returns:
        Whether the runtimeEnabled field is set.
      • getRuntimeEnabled

        public RuntimeFeatureFlag getRuntimeEnabled()
         Runtime flag that controls whether the filter is enabled or not. If not specified, defaults
         to enabled.
         
        .envoy.config.core.v3.RuntimeFeatureFlag runtime_enabled = 3;
        Specified by:
        getRuntimeEnabled in interface LocalRateLimitOrBuilder
        Returns:
        The runtimeEnabled.
      • getShareKey

        public String getShareKey()
         Specifies that the token bucket used for rate limiting should be shared with other local_rate_limit filters
         with a matching :ref:`token_bucket <envoy_v3_api_field_extensions.filters.network.local_ratelimit.v3.LocalRateLimit.token_bucket>`
         and ``share_key`` configuration. All fields of ``token_bucket`` must match exactly for the token bucket to be shared. If this
         field is empty, this filter will not share a token bucket with any other filter.
         
        string share_key = 4;
        Specified by:
        getShareKey in interface LocalRateLimitOrBuilder
        Returns:
        The shareKey.
      • getShareKeyBytes

        public com.google.protobuf.ByteString getShareKeyBytes()
         Specifies that the token bucket used for rate limiting should be shared with other local_rate_limit filters
         with a matching :ref:`token_bucket <envoy_v3_api_field_extensions.filters.network.local_ratelimit.v3.LocalRateLimit.token_bucket>`
         and ``share_key`` configuration. All fields of ``token_bucket`` must match exactly for the token bucket to be shared. If this
         field is empty, this filter will not share a token bucket with any other filter.
         
        string share_key = 4;
        Specified by:
        getShareKeyBytes in interface LocalRateLimitOrBuilder
        Returns:
        The bytes for shareKey.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • 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.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • 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 LocalRateLimit parseFrom​(ByteBuffer data)
                                        throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

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

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

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

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

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

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

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

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

        protected LocalRateLimit.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static LocalRateLimit getDefaultInstance()
      • parser

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

        public com.google.protobuf.Parser<LocalRateLimit> 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.GeneratedMessageV3
      • getDefaultInstanceForType

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