Package io.grpc.serviceconfig
Class ServiceConfig.RetryThrottlingPolicy.Builder
- java.lang.Object
-
- com.google.protobuf.AbstractMessageLite.Builder
-
- com.google.protobuf.AbstractMessage.Builder<BuilderType>
-
- com.google.protobuf.GeneratedMessageV3.Builder<ServiceConfig.RetryThrottlingPolicy.Builder>
-
- io.grpc.serviceconfig.ServiceConfig.RetryThrottlingPolicy.Builder
-
- All Implemented Interfaces:
com.google.protobuf.Message.Builder,com.google.protobuf.MessageLite.Builder,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,ServiceConfig.RetryThrottlingPolicyOrBuilder,Cloneable
- Enclosing class:
- ServiceConfig.RetryThrottlingPolicy
public static final class ServiceConfig.RetryThrottlingPolicy.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<ServiceConfig.RetryThrottlingPolicy.Builder> implements ServiceConfig.RetryThrottlingPolicyOrBuilder
If a RetryThrottlingPolicy is provided, gRPC will automatically throttle retry attempts and hedged RPCs when the client's ratio of failures to successes exceeds a threshold. For each server name, the gRPC client will maintain a token_count which is initially set to max_tokens. Every outgoing RPC (regardless of service or method invoked) will change token_count as follows: - Every failed RPC will decrement the token_count by 1. - Every successful RPC will increment the token_count by token_ratio. If token_count is less than or equal to max_tokens / 2, then RPCs will not be retried and hedged RPCs will not be sent.
Protobuf typegrpc.service_config.ServiceConfig.RetryThrottlingPolicy
-
-
Method Summary
-
Methods inherited from class com.google.protobuf.GeneratedMessageV3.Builder
getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, getUnknownFieldSetBuilder, hasField, hasOneof, internalGetMapField, internalGetMutableMapField, isClean, markClean, mergeUnknownLengthDelimitedField, mergeUnknownVarintField, newBuilderForField, onBuilt, onChanged, parseUnknownField, 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.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessageV3.Builder<ServiceConfig.RetryThrottlingPolicy.Builder>
-
clear
public ServiceConfig.RetryThrottlingPolicy.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<ServiceConfig.RetryThrottlingPolicy.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<ServiceConfig.RetryThrottlingPolicy.Builder>
-
getDefaultInstanceForType
public ServiceConfig.RetryThrottlingPolicy getDefaultInstanceForType()
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-
build
public ServiceConfig.RetryThrottlingPolicy build()
- Specified by:
buildin interfacecom.google.protobuf.Message.Builder- Specified by:
buildin interfacecom.google.protobuf.MessageLite.Builder
-
buildPartial
public ServiceConfig.RetryThrottlingPolicy buildPartial()
- Specified by:
buildPartialin interfacecom.google.protobuf.Message.Builder- Specified by:
buildPartialin interfacecom.google.protobuf.MessageLite.Builder
-
clone
public ServiceConfig.RetryThrottlingPolicy.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<ServiceConfig.RetryThrottlingPolicy.Builder>
-
setField
public ServiceConfig.RetryThrottlingPolicy.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<ServiceConfig.RetryThrottlingPolicy.Builder>
-
clearField
public ServiceConfig.RetryThrottlingPolicy.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
- Specified by:
clearFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
clearFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<ServiceConfig.RetryThrottlingPolicy.Builder>
-
clearOneof
public ServiceConfig.RetryThrottlingPolicy.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
- Specified by:
clearOneofin interfacecom.google.protobuf.Message.Builder- Overrides:
clearOneofin classcom.google.protobuf.GeneratedMessageV3.Builder<ServiceConfig.RetryThrottlingPolicy.Builder>
-
setRepeatedField
public ServiceConfig.RetryThrottlingPolicy.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<ServiceConfig.RetryThrottlingPolicy.Builder>
-
addRepeatedField
public ServiceConfig.RetryThrottlingPolicy.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<ServiceConfig.RetryThrottlingPolicy.Builder>
-
mergeFrom
public ServiceConfig.RetryThrottlingPolicy.Builder mergeFrom(com.google.protobuf.Message other)
- Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<ServiceConfig.RetryThrottlingPolicy.Builder>
-
mergeFrom
public ServiceConfig.RetryThrottlingPolicy.Builder mergeFrom(ServiceConfig.RetryThrottlingPolicy other)
-
isInitialized
public final boolean isInitialized()
- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3.Builder<ServiceConfig.RetryThrottlingPolicy.Builder>
-
mergeFrom
public ServiceConfig.RetryThrottlingPolicy.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<ServiceConfig.RetryThrottlingPolicy.Builder>- Throws:
IOException
-
getMaxTokens
public int getMaxTokens()
The number of tokens starts at max_tokens. The token_count will always be between 0 and max_tokens. This field is required and must be greater than zero.
uint32 max_tokens = 1;- Specified by:
getMaxTokensin interfaceServiceConfig.RetryThrottlingPolicyOrBuilder- Returns:
- The maxTokens.
-
setMaxTokens
public ServiceConfig.RetryThrottlingPolicy.Builder setMaxTokens(int value)
The number of tokens starts at max_tokens. The token_count will always be between 0 and max_tokens. This field is required and must be greater than zero.
uint32 max_tokens = 1;- Parameters:
value- The maxTokens to set.- Returns:
- This builder for chaining.
-
clearMaxTokens
public ServiceConfig.RetryThrottlingPolicy.Builder clearMaxTokens()
The number of tokens starts at max_tokens. The token_count will always be between 0 and max_tokens. This field is required and must be greater than zero.
uint32 max_tokens = 1;- Returns:
- This builder for chaining.
-
getTokenRatio
public float getTokenRatio()
The amount of tokens to add on each successful RPC. Typically this will be some number between 0 and 1, e.g., 0.1. This field is required and must be greater than zero. Up to 3 decimal places are supported.
float token_ratio = 2;- Specified by:
getTokenRatioin interfaceServiceConfig.RetryThrottlingPolicyOrBuilder- Returns:
- The tokenRatio.
-
setTokenRatio
public ServiceConfig.RetryThrottlingPolicy.Builder setTokenRatio(float value)
The amount of tokens to add on each successful RPC. Typically this will be some number between 0 and 1, e.g., 0.1. This field is required and must be greater than zero. Up to 3 decimal places are supported.
float token_ratio = 2;- Parameters:
value- The tokenRatio to set.- Returns:
- This builder for chaining.
-
clearTokenRatio
public ServiceConfig.RetryThrottlingPolicy.Builder clearTokenRatio()
The amount of tokens to add on each successful RPC. Typically this will be some number between 0 and 1, e.g., 0.1. This field is required and must be greater than zero. Up to 3 decimal places are supported.
float token_ratio = 2;- Returns:
- This builder for chaining.
-
setUnknownFields
public final ServiceConfig.RetryThrottlingPolicy.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
- Specified by:
setUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
setUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<ServiceConfig.RetryThrottlingPolicy.Builder>
-
mergeUnknownFields
public final ServiceConfig.RetryThrottlingPolicy.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
- Specified by:
mergeUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<ServiceConfig.RetryThrottlingPolicy.Builder>
-
-