Package io.envoyproxy.envoy.type.v3
Class RateLimitStrategy.RequestsPerTimeUnit.Builder
- java.lang.Object
-
- com.google.protobuf.AbstractMessageLite.Builder
-
- com.google.protobuf.AbstractMessage.Builder<BuilderType>
-
- com.google.protobuf.GeneratedMessageV3.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,Cloneable
- Enclosing class:
- RateLimitStrategy.RequestsPerTimeUnit
public static final class RateLimitStrategy.RequestsPerTimeUnit.Builder extends com.google.protobuf.GeneratedMessageV3.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
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description RateLimitStrategy.RequestsPerTimeUnit.BuilderaddRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)RateLimitStrategy.RequestsPerTimeUnitbuild()RateLimitStrategy.RequestsPerTimeUnitbuildPartial()RateLimitStrategy.RequestsPerTimeUnit.Builderclear()RateLimitStrategy.RequestsPerTimeUnit.BuilderclearField(com.google.protobuf.Descriptors.FieldDescriptor field)RateLimitStrategy.RequestsPerTimeUnit.BuilderclearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)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.RequestsPerTimeUnit.Builderclone()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.GeneratedMessageV3.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.BuildermergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)RateLimitStrategy.RequestsPerTimeUnit.BuildersetField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)RateLimitStrategy.RequestsPerTimeUnit.BuildersetRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)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.RateLimitStrategy.RequestsPerTimeUnit.BuildersetUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)-
Methods inherited from class com.google.protobuf.GeneratedMessageV3.Builder
getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMutableMapField, isClean, markClean, newBuilderForField, onBuilt, onChanged, 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.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessageV3.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.GeneratedMessageV3.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.GeneratedMessageV3.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
-
clone
public RateLimitStrategy.RequestsPerTimeUnit.Builder clone()
- Specified by:
clonein interfacecom.google.protobuf.Message.Builder- Specified by:
clonein interfacecom.google.protobuf.MessageLite.Builder- Overrides:
clonein classcom.google.protobuf.GeneratedMessageV3.Builder<RateLimitStrategy.RequestsPerTimeUnit.Builder>
-
setField
public RateLimitStrategy.RequestsPerTimeUnit.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
- Specified by:
setFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
setFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<RateLimitStrategy.RequestsPerTimeUnit.Builder>
-
clearField
public RateLimitStrategy.RequestsPerTimeUnit.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
- Specified by:
clearFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
clearFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<RateLimitStrategy.RequestsPerTimeUnit.Builder>
-
clearOneof
public RateLimitStrategy.RequestsPerTimeUnit.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
- Specified by:
clearOneofin interfacecom.google.protobuf.Message.Builder- Overrides:
clearOneofin classcom.google.protobuf.GeneratedMessageV3.Builder<RateLimitStrategy.RequestsPerTimeUnit.Builder>
-
setRepeatedField
public RateLimitStrategy.RequestsPerTimeUnit.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
- Specified by:
setRepeatedFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
setRepeatedFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<RateLimitStrategy.RequestsPerTimeUnit.Builder>
-
addRepeatedField
public RateLimitStrategy.RequestsPerTimeUnit.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
- Specified by:
addRepeatedFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
addRepeatedFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<RateLimitStrategy.RequestsPerTimeUnit.Builder>
-
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.GeneratedMessageV3.Builder<RateLimitStrategy.RequestsPerTimeUnit.Builder>
-
mergeFrom
public RateLimitStrategy.RequestsPerTimeUnit.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws 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:
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.
-
setUnknownFields
public final RateLimitStrategy.RequestsPerTimeUnit.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
- Specified by:
setUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
setUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<RateLimitStrategy.RequestsPerTimeUnit.Builder>
-
mergeUnknownFields
public final RateLimitStrategy.RequestsPerTimeUnit.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
- Specified by:
mergeUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<RateLimitStrategy.RequestsPerTimeUnit.Builder>
-
-