Package io.envoyproxy.envoy.type.v3
Class RateLimitStrategy.RequestsPerTimeUnit.Builder
- java.lang.Object
-
- com.google.protobuf.AbstractMessageLite.Builder
-
- com.google.protobuf.AbstractMessage.Builder<BuilderT>
-
- com.google.protobuf.GeneratedMessage.Builder<RateLimitStrategy.RequestsPerTimeUnit.Builder>
-
- io.envoyproxy.envoy.type.v3.RateLimitStrategy.RequestsPerTimeUnit.Builder
-
- All Implemented Interfaces:
com.google.protobuf.Message.Builder,com.google.protobuf.MessageLite.Builder,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,RateLimitStrategy.RequestsPerTimeUnitOrBuilder,java.lang.Cloneable
- Enclosing class:
- RateLimitStrategy.RequestsPerTimeUnit
public static final class RateLimitStrategy.RequestsPerTimeUnit.Builder extends com.google.protobuf.GeneratedMessage.Builder<RateLimitStrategy.RequestsPerTimeUnit.Builder> implements RateLimitStrategy.RequestsPerTimeUnitOrBuilder
Best-effort limit of the number of requests per time unit. Allows to specify the desired requests per second (RPS, QPS), requests per minute (QPM, RPM), etc., without specifying a rate limiting algorithm implementation. ``RequestsPerTimeUnit`` strategy does not demand any specific rate limiting algorithm to be used (in contrast to the :ref:`TokenBucket <envoy_v3_api_msg_type.v3.TokenBucket>`, for example). It implies that the implementation details of rate limiting algorithm are irrelevant as long as the configured number of "requests per time unit" is achieved. Note that the ``TokenBucket`` is still a valid implementation of the ``RequestsPerTimeUnit`` strategy, and may be chosen to enforce the rate limit. However, there's no guarantee it will be the ``TokenBucket`` in particular, and not the Leaky Bucket, the Sliding Window, or any other rate limiting algorithm that fulfills the requirements.
Protobuf typeenvoy.type.v3.RateLimitStrategy.RequestsPerTimeUnit
-
-
Field Summary
Fields Modifier and Type Field Description private intbitField0_private longrequestsPerTimeUnit_private inttimeUnit_
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description RateLimitStrategy.RequestsPerTimeUnitbuild()RateLimitStrategy.RequestsPerTimeUnitbuildPartial()private voidbuildPartial0(RateLimitStrategy.RequestsPerTimeUnit result)RateLimitStrategy.RequestsPerTimeUnit.Builderclear()RateLimitStrategy.RequestsPerTimeUnit.BuilderclearRequestsPerTimeUnit()The desired number of requests per :ref:`time_unit <envoy_v3_api_field_type.v3.RateLimitStrategy.RequestsPerTimeUnit.time_unit>` to allow.RateLimitStrategy.RequestsPerTimeUnit.BuilderclearTimeUnit()The unit of time.RateLimitStrategy.RequestsPerTimeUnitgetDefaultInstanceForType()static com.google.protobuf.Descriptors.DescriptorgetDescriptor()com.google.protobuf.Descriptors.DescriptorgetDescriptorForType()longgetRequestsPerTimeUnit()The desired number of requests per :ref:`time_unit <envoy_v3_api_field_type.v3.RateLimitStrategy.RequestsPerTimeUnit.time_unit>` to allow.RateLimitUnitgetTimeUnit()The unit of time.intgetTimeUnitValue()The unit of time.protected com.google.protobuf.GeneratedMessage.FieldAccessorTableinternalGetFieldAccessorTable()booleanisInitialized()RateLimitStrategy.RequestsPerTimeUnit.BuildermergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)RateLimitStrategy.RequestsPerTimeUnit.BuildermergeFrom(com.google.protobuf.Message other)RateLimitStrategy.RequestsPerTimeUnit.BuildermergeFrom(RateLimitStrategy.RequestsPerTimeUnit other)RateLimitStrategy.RequestsPerTimeUnit.BuildersetRequestsPerTimeUnit(long value)The desired number of requests per :ref:`time_unit <envoy_v3_api_field_type.v3.RateLimitStrategy.RequestsPerTimeUnit.time_unit>` to allow.RateLimitStrategy.RequestsPerTimeUnit.BuildersetTimeUnit(RateLimitUnit value)The unit of time.RateLimitStrategy.RequestsPerTimeUnit.BuildersetTimeUnitValue(int value)The unit of time.-
Methods inherited from class com.google.protobuf.GeneratedMessage.Builder
addRepeatedField, clearField, clearOneof, clone, getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, getUnknownFieldSetBuilder, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, internalGetMutableMapField, internalGetMutableMapFieldReflection, isClean, markClean, mergeUnknownFields, mergeUnknownLengthDelimitedField, mergeUnknownVarintField, newBuilderForField, onBuilt, onChanged, parseUnknownField, setField, setRepeatedField, setUnknownFields, setUnknownFieldSetBuilder, setUnknownFieldsProto3
-
Methods inherited from class com.google.protobuf.AbstractMessage.Builder
findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toString
-
Methods inherited from class com.google.protobuf.AbstractMessageLite.Builder
addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, newUninitializedMessageException
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
-
-
-
Method Detail
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
-
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessage.Builder<RateLimitStrategy.RequestsPerTimeUnit.Builder>
-
clear
public RateLimitStrategy.RequestsPerTimeUnit.Builder clear()
- Specified by:
clearin interfacecom.google.protobuf.Message.Builder- Specified by:
clearin interfacecom.google.protobuf.MessageLite.Builder- Overrides:
clearin classcom.google.protobuf.GeneratedMessage.Builder<RateLimitStrategy.RequestsPerTimeUnit.Builder>
-
getDescriptorForType
public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.Message.Builder- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.MessageOrBuilder- Overrides:
getDescriptorForTypein classcom.google.protobuf.GeneratedMessage.Builder<RateLimitStrategy.RequestsPerTimeUnit.Builder>
-
getDefaultInstanceForType
public RateLimitStrategy.RequestsPerTimeUnit getDefaultInstanceForType()
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-
build
public RateLimitStrategy.RequestsPerTimeUnit build()
- Specified by:
buildin interfacecom.google.protobuf.Message.Builder- Specified by:
buildin interfacecom.google.protobuf.MessageLite.Builder
-
buildPartial
public RateLimitStrategy.RequestsPerTimeUnit buildPartial()
- Specified by:
buildPartialin interfacecom.google.protobuf.Message.Builder- Specified by:
buildPartialin interfacecom.google.protobuf.MessageLite.Builder
-
buildPartial0
private void buildPartial0(RateLimitStrategy.RequestsPerTimeUnit result)
-
mergeFrom
public RateLimitStrategy.RequestsPerTimeUnit.Builder mergeFrom(com.google.protobuf.Message other)
- Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<RateLimitStrategy.RequestsPerTimeUnit.Builder>
-
mergeFrom
public RateLimitStrategy.RequestsPerTimeUnit.Builder mergeFrom(RateLimitStrategy.RequestsPerTimeUnit other)
-
isInitialized
public final boolean isInitialized()
- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessage.Builder<RateLimitStrategy.RequestsPerTimeUnit.Builder>
-
mergeFrom
public RateLimitStrategy.RequestsPerTimeUnit.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
- Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Specified by:
mergeFromin interfacecom.google.protobuf.MessageLite.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<RateLimitStrategy.RequestsPerTimeUnit.Builder>- Throws:
java.io.IOException
-
getRequestsPerTimeUnit
public long getRequestsPerTimeUnit()
The desired number of requests per :ref:`time_unit <envoy_v3_api_field_type.v3.RateLimitStrategy.RequestsPerTimeUnit.time_unit>` to allow. If set to ``0``, deny all (equivalent to ``BlanketRule.DENY_ALL``). .. note:: Note that the algorithm implementation determines the course of action for the requests over the limit. As long as the ``requests_per_time_unit`` converges on the desired value, it's allowed to treat this field as a soft-limit: allow bursts, redistribute the allowance over time, etc.
uint64 requests_per_time_unit = 1;- Specified by:
getRequestsPerTimeUnitin interfaceRateLimitStrategy.RequestsPerTimeUnitOrBuilder- Returns:
- The requestsPerTimeUnit.
-
setRequestsPerTimeUnit
public RateLimitStrategy.RequestsPerTimeUnit.Builder setRequestsPerTimeUnit(long value)
The desired number of requests per :ref:`time_unit <envoy_v3_api_field_type.v3.RateLimitStrategy.RequestsPerTimeUnit.time_unit>` to allow. If set to ``0``, deny all (equivalent to ``BlanketRule.DENY_ALL``). .. note:: Note that the algorithm implementation determines the course of action for the requests over the limit. As long as the ``requests_per_time_unit`` converges on the desired value, it's allowed to treat this field as a soft-limit: allow bursts, redistribute the allowance over time, etc.
uint64 requests_per_time_unit = 1;- Parameters:
value- The requestsPerTimeUnit to set.- Returns:
- This builder for chaining.
-
clearRequestsPerTimeUnit
public RateLimitStrategy.RequestsPerTimeUnit.Builder clearRequestsPerTimeUnit()
The desired number of requests per :ref:`time_unit <envoy_v3_api_field_type.v3.RateLimitStrategy.RequestsPerTimeUnit.time_unit>` to allow. If set to ``0``, deny all (equivalent to ``BlanketRule.DENY_ALL``). .. note:: Note that the algorithm implementation determines the course of action for the requests over the limit. As long as the ``requests_per_time_unit`` converges on the desired value, it's allowed to treat this field as a soft-limit: allow bursts, redistribute the allowance over time, etc.
uint64 requests_per_time_unit = 1;- Returns:
- This builder for chaining.
-
getTimeUnitValue
public int getTimeUnitValue()
The unit of time. Ignored when :ref:`requests_per_time_unit <envoy_v3_api_field_type.v3.RateLimitStrategy.RequestsPerTimeUnit.requests_per_time_unit>` is ``0`` (deny all).
.envoy.type.v3.RateLimitUnit time_unit = 2 [(.validate.rules) = { ... }- Specified by:
getTimeUnitValuein interfaceRateLimitStrategy.RequestsPerTimeUnitOrBuilder- Returns:
- The enum numeric value on the wire for timeUnit.
-
setTimeUnitValue
public RateLimitStrategy.RequestsPerTimeUnit.Builder setTimeUnitValue(int value)
The unit of time. Ignored when :ref:`requests_per_time_unit <envoy_v3_api_field_type.v3.RateLimitStrategy.RequestsPerTimeUnit.requests_per_time_unit>` is ``0`` (deny all).
.envoy.type.v3.RateLimitUnit time_unit = 2 [(.validate.rules) = { ... }- Parameters:
value- The enum numeric value on the wire for timeUnit to set.- Returns:
- This builder for chaining.
-
getTimeUnit
public RateLimitUnit getTimeUnit()
The unit of time. Ignored when :ref:`requests_per_time_unit <envoy_v3_api_field_type.v3.RateLimitStrategy.RequestsPerTimeUnit.requests_per_time_unit>` is ``0`` (deny all).
.envoy.type.v3.RateLimitUnit time_unit = 2 [(.validate.rules) = { ... }- Specified by:
getTimeUnitin interfaceRateLimitStrategy.RequestsPerTimeUnitOrBuilder- Returns:
- The timeUnit.
-
setTimeUnit
public RateLimitStrategy.RequestsPerTimeUnit.Builder setTimeUnit(RateLimitUnit value)
The unit of time. Ignored when :ref:`requests_per_time_unit <envoy_v3_api_field_type.v3.RateLimitStrategy.RequestsPerTimeUnit.requests_per_time_unit>` is ``0`` (deny all).
.envoy.type.v3.RateLimitUnit time_unit = 2 [(.validate.rules) = { ... }- Parameters:
value- The timeUnit to set.- Returns:
- This builder for chaining.
-
clearTimeUnit
public RateLimitStrategy.RequestsPerTimeUnit.Builder clearTimeUnit()
The unit of time. Ignored when :ref:`requests_per_time_unit <envoy_v3_api_field_type.v3.RateLimitStrategy.RequestsPerTimeUnit.requests_per_time_unit>` is ``0`` (deny all).
.envoy.type.v3.RateLimitUnit time_unit = 2 [(.validate.rules) = { ... }- Returns:
- This builder for chaining.
-
-