Class RateLimitRequest
- java.lang.Object
-
- com.google.protobuf.AbstractMessageLite
-
- com.google.protobuf.AbstractMessage
-
- com.google.protobuf.GeneratedMessageV3
-
- io.envoyproxy.envoy.service.ratelimit.v3.RateLimitRequest
-
- All Implemented Interfaces:
com.google.protobuf.Message,com.google.protobuf.MessageLite,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,RateLimitRequestOrBuilder,Serializable
public final class RateLimitRequest extends com.google.protobuf.GeneratedMessageV3 implements RateLimitRequestOrBuilder
Main message for a rate limit request. The rate limit service is designed to be fully generic in the sense that it can operate on arbitrary hierarchical key/value pairs. The loaded configuration will parse the request and find the most specific limit to apply. In addition, a RateLimitRequest can contain multiple "descriptors" to limit on. When multiple descriptors are provided, the server will limit on *ALL* of them and return an OVER_LIMIT response if any of them are over limit. This enables more complex application level rate limiting scenarios if desired.
Protobuf typeenvoy.service.ratelimit.v3.RateLimitRequest- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classRateLimitRequest.BuilderMain message for a rate limit request.-
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
-
-
Field Summary
Fields Modifier and Type Field Description static intDESCRIPTORS_FIELD_NUMBERstatic intDOMAIN_FIELD_NUMBERstatic intHITS_ADDEND_FIELD_NUMBER
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object obj)static RateLimitRequestgetDefaultInstance()RateLimitRequestgetDefaultInstanceForType()static com.google.protobuf.Descriptors.DescriptorgetDescriptor()RateLimitDescriptorgetDescriptors(int index)All rate limit requests must specify at least one RateLimitDescriptor.intgetDescriptorsCount()All rate limit requests must specify at least one RateLimitDescriptor.List<RateLimitDescriptor>getDescriptorsList()All rate limit requests must specify at least one RateLimitDescriptor.RateLimitDescriptorOrBuildergetDescriptorsOrBuilder(int index)All rate limit requests must specify at least one RateLimitDescriptor.List<? extends RateLimitDescriptorOrBuilder>getDescriptorsOrBuilderList()All rate limit requests must specify at least one RateLimitDescriptor.StringgetDomain()All rate limit requests must specify a domain.com.google.protobuf.ByteStringgetDomainBytes()All rate limit requests must specify a domain.intgetHitsAddend()Rate limit requests can optionally specify the number of hits a request adds to the matched limit.com.google.protobuf.Parser<RateLimitRequest>getParserForType()intgetSerializedSize()com.google.protobuf.UnknownFieldSetgetUnknownFields()inthashCode()protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTableinternalGetFieldAccessorTable()booleanisInitialized()static RateLimitRequest.BuildernewBuilder()static RateLimitRequest.BuildernewBuilder(RateLimitRequest prototype)RateLimitRequest.BuildernewBuilderForType()protected RateLimitRequest.BuildernewBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)protected ObjectnewInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)static RateLimitRequestparseDelimitedFrom(InputStream input)static RateLimitRequestparseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static RateLimitRequestparseFrom(byte[] data)static RateLimitRequestparseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static RateLimitRequestparseFrom(com.google.protobuf.ByteString data)static RateLimitRequestparseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static RateLimitRequestparseFrom(com.google.protobuf.CodedInputStream input)static RateLimitRequestparseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static RateLimitRequestparseFrom(InputStream input)static RateLimitRequestparseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static RateLimitRequestparseFrom(ByteBuffer data)static RateLimitRequestparseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static com.google.protobuf.Parser<RateLimitRequest>parser()RateLimitRequest.BuildertoBuilder()voidwriteTo(com.google.protobuf.CodedOutputStream output)-
Methods inherited from class com.google.protobuf.GeneratedMessageV3
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof, internalGetMapField, isStringEmpty, makeExtensionsImmutable, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newIntList, newLongList, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTag
-
Methods inherited from class com.google.protobuf.AbstractMessage
findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toString
-
Methods inherited from class com.google.protobuf.AbstractMessageLite
addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
-
-
-
Field Detail
-
DOMAIN_FIELD_NUMBER
public static final int DOMAIN_FIELD_NUMBER
- See Also:
- Constant Field Values
-
DESCRIPTORS_FIELD_NUMBER
public static final int DESCRIPTORS_FIELD_NUMBER
- See Also:
- Constant Field Values
-
HITS_ADDEND_FIELD_NUMBER
public static final int HITS_ADDEND_FIELD_NUMBER
- See Also:
- Constant Field Values
-
-
Method Detail
-
newInstance
protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
- Overrides:
newInstancein classcom.google.protobuf.GeneratedMessageV3
-
getUnknownFields
public final com.google.protobuf.UnknownFieldSet getUnknownFields()
- Specified by:
getUnknownFieldsin interfacecom.google.protobuf.MessageOrBuilder- Overrides:
getUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3
-
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
-
getDomain
public String getDomain()
All rate limit requests must specify a domain. This enables the configuration to be per application without fear of overlap. E.g., "envoy".
string domain = 1;- Specified by:
getDomainin interfaceRateLimitRequestOrBuilder- Returns:
- The domain.
-
getDomainBytes
public com.google.protobuf.ByteString getDomainBytes()
All rate limit requests must specify a domain. This enables the configuration to be per application without fear of overlap. E.g., "envoy".
string domain = 1;- Specified by:
getDomainBytesin interfaceRateLimitRequestOrBuilder- Returns:
- The bytes for domain.
-
getDescriptorsList
public List<RateLimitDescriptor> getDescriptorsList()
All rate limit requests must specify at least one RateLimitDescriptor. Each descriptor is processed by the service (see below). If any of the descriptors are over limit, the entire request is considered to be over limit.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor descriptors = 2;- Specified by:
getDescriptorsListin interfaceRateLimitRequestOrBuilder
-
getDescriptorsOrBuilderList
public List<? extends RateLimitDescriptorOrBuilder> getDescriptorsOrBuilderList()
All rate limit requests must specify at least one RateLimitDescriptor. Each descriptor is processed by the service (see below). If any of the descriptors are over limit, the entire request is considered to be over limit.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor descriptors = 2;- Specified by:
getDescriptorsOrBuilderListin interfaceRateLimitRequestOrBuilder
-
getDescriptorsCount
public int getDescriptorsCount()
All rate limit requests must specify at least one RateLimitDescriptor. Each descriptor is processed by the service (see below). If any of the descriptors are over limit, the entire request is considered to be over limit.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor descriptors = 2;- Specified by:
getDescriptorsCountin interfaceRateLimitRequestOrBuilder
-
getDescriptors
public RateLimitDescriptor getDescriptors(int index)
All rate limit requests must specify at least one RateLimitDescriptor. Each descriptor is processed by the service (see below). If any of the descriptors are over limit, the entire request is considered to be over limit.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor descriptors = 2;- Specified by:
getDescriptorsin interfaceRateLimitRequestOrBuilder
-
getDescriptorsOrBuilder
public RateLimitDescriptorOrBuilder getDescriptorsOrBuilder(int index)
All rate limit requests must specify at least one RateLimitDescriptor. Each descriptor is processed by the service (see below). If any of the descriptors are over limit, the entire request is considered to be over limit.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor descriptors = 2;- Specified by:
getDescriptorsOrBuilderin interfaceRateLimitRequestOrBuilder
-
getHitsAddend
public int getHitsAddend()
Rate limit requests can optionally specify the number of hits a request adds to the matched limit. If the value is not set in the message, a request increases the matched limit by 1.
uint32 hits_addend = 3;- Specified by:
getHitsAddendin interfaceRateLimitRequestOrBuilder- Returns:
- The hitsAddend.
-
isInitialized
public final boolean isInitialized()
- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3
-
writeTo
public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException- Specified by:
writeToin interfacecom.google.protobuf.MessageLite- Overrides:
writeToin classcom.google.protobuf.GeneratedMessageV3- Throws:
IOException
-
getSerializedSize
public int getSerializedSize()
- Specified by:
getSerializedSizein interfacecom.google.protobuf.MessageLite- Overrides:
getSerializedSizein classcom.google.protobuf.GeneratedMessageV3
-
equals
public boolean equals(Object obj)
- Specified by:
equalsin interfacecom.google.protobuf.Message- Overrides:
equalsin classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()
- Specified by:
hashCodein interfacecom.google.protobuf.Message- Overrides:
hashCodein classcom.google.protobuf.AbstractMessage
-
parseFrom
public static RateLimitRequest parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RateLimitRequest parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RateLimitRequest parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RateLimitRequest parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RateLimitRequest parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RateLimitRequest parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RateLimitRequest parseFrom(InputStream input) throws IOException
- Throws:
IOException
-
parseFrom
public static RateLimitRequest parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
- Throws:
IOException
-
parseDelimitedFrom
public static RateLimitRequest parseDelimitedFrom(InputStream input) throws IOException
- Throws:
IOException
-
parseDelimitedFrom
public static RateLimitRequest parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
- Throws:
IOException
-
parseFrom
public static RateLimitRequest parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
- Throws:
IOException
-
parseFrom
public static RateLimitRequest parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
- Throws:
IOException
-
newBuilderForType
public RateLimitRequest.Builder newBuilderForType()
- Specified by:
newBuilderForTypein interfacecom.google.protobuf.Message- Specified by:
newBuilderForTypein interfacecom.google.protobuf.MessageLite
-
newBuilder
public static RateLimitRequest.Builder newBuilder()
-
newBuilder
public static RateLimitRequest.Builder newBuilder(RateLimitRequest prototype)
-
toBuilder
public RateLimitRequest.Builder toBuilder()
- Specified by:
toBuilderin interfacecom.google.protobuf.Message- Specified by:
toBuilderin interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected RateLimitRequest.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
- Specified by:
newBuilderForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstance
public static RateLimitRequest getDefaultInstance()
-
parser
public static com.google.protobuf.Parser<RateLimitRequest> parser()
-
getParserForType
public com.google.protobuf.Parser<RateLimitRequest> getParserForType()
- Specified by:
getParserForTypein interfacecom.google.protobuf.Message- Specified by:
getParserForTypein interfacecom.google.protobuf.MessageLite- Overrides:
getParserForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstanceForType
public RateLimitRequest getDefaultInstanceForType()
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-
-