Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: envoy/config/route/v3/route_components.proto
package io.envoyproxy.envoy.config.route.v3;
/**
*
*
* Protobuf type {@code envoy.config.route.v3.RetryPolicy}
*/
public final class RetryPolicy extends
com.google.protobuf.GeneratedMessageV3 implements
// @@protoc_insertion_point(message_implements:envoy.config.route.v3.RetryPolicy)
RetryPolicyOrBuilder {
private static final long serialVersionUID = 0L;
// Use RetryPolicy.newBuilder() to construct.
private RetryPolicy(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
super(builder);
}
private RetryPolicy() {
retryOn_ = "";
retryHostPredicate_ = java.util.Collections.emptyList();
retryOptionsPredicates_ = java.util.Collections.emptyList();
retriableStatusCodes_ = emptyIntList();
retriableHeaders_ = java.util.Collections.emptyList();
retriableRequestHeaders_ = java.util.Collections.emptyList();
}
@java.lang.Override
@SuppressWarnings({"unused"})
protected java.lang.Object newInstance(
UnusedPrivateParameter unused) {
return new RetryPolicy();
}
@java.lang.Override
public final com.google.protobuf.UnknownFieldSet
getUnknownFields() {
return this.unknownFields;
}
private RetryPolicy(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
this();
if (extensionRegistry == null) {
throw new java.lang.NullPointerException();
}
int mutable_bitField0_ = 0;
com.google.protobuf.UnknownFieldSet.Builder unknownFields =
com.google.protobuf.UnknownFieldSet.newBuilder();
try {
boolean done = false;
while (!done) {
int tag = input.readTag();
switch (tag) {
case 0:
done = true;
break;
case 10: {
java.lang.String s = input.readStringRequireUtf8();
retryOn_ = s;
break;
}
case 18: {
com.google.protobuf.UInt32Value.Builder subBuilder = null;
if (numRetries_ != null) {
subBuilder = numRetries_.toBuilder();
}
numRetries_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(numRetries_);
numRetries_ = subBuilder.buildPartial();
}
break;
}
case 26: {
com.google.protobuf.Duration.Builder subBuilder = null;
if (perTryTimeout_ != null) {
subBuilder = perTryTimeout_.toBuilder();
}
perTryTimeout_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(perTryTimeout_);
perTryTimeout_ = subBuilder.buildPartial();
}
break;
}
case 34: {
io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority.Builder subBuilder = null;
if (retryPriority_ != null) {
subBuilder = retryPriority_.toBuilder();
}
retryPriority_ = input.readMessage(io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(retryPriority_);
retryPriority_ = subBuilder.buildPartial();
}
break;
}
case 42: {
if (!((mutable_bitField0_ & 0x00000001) != 0)) {
retryHostPredicate_ = new java.util.ArrayList();
mutable_bitField0_ |= 0x00000001;
}
retryHostPredicate_.add(
input.readMessage(io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate.parser(), extensionRegistry));
break;
}
case 48: {
hostSelectionRetryMaxAttempts_ = input.readInt64();
break;
}
case 56: {
if (!((mutable_bitField0_ & 0x00000004) != 0)) {
retriableStatusCodes_ = newIntList();
mutable_bitField0_ |= 0x00000004;
}
retriableStatusCodes_.addInt(input.readUInt32());
break;
}
case 58: {
int length = input.readRawVarint32();
int limit = input.pushLimit(length);
if (!((mutable_bitField0_ & 0x00000004) != 0) && input.getBytesUntilLimit() > 0) {
retriableStatusCodes_ = newIntList();
mutable_bitField0_ |= 0x00000004;
}
while (input.getBytesUntilLimit() > 0) {
retriableStatusCodes_.addInt(input.readUInt32());
}
input.popLimit(limit);
break;
}
case 66: {
io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff.Builder subBuilder = null;
if (retryBackOff_ != null) {
subBuilder = retryBackOff_.toBuilder();
}
retryBackOff_ = input.readMessage(io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(retryBackOff_);
retryBackOff_ = subBuilder.buildPartial();
}
break;
}
case 74: {
if (!((mutable_bitField0_ & 0x00000008) != 0)) {
retriableHeaders_ = new java.util.ArrayList();
mutable_bitField0_ |= 0x00000008;
}
retriableHeaders_.add(
input.readMessage(io.envoyproxy.envoy.config.route.v3.HeaderMatcher.parser(), extensionRegistry));
break;
}
case 82: {
if (!((mutable_bitField0_ & 0x00000010) != 0)) {
retriableRequestHeaders_ = new java.util.ArrayList();
mutable_bitField0_ |= 0x00000010;
}
retriableRequestHeaders_.add(
input.readMessage(io.envoyproxy.envoy.config.route.v3.HeaderMatcher.parser(), extensionRegistry));
break;
}
case 90: {
io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff.Builder subBuilder = null;
if (rateLimitedRetryBackOff_ != null) {
subBuilder = rateLimitedRetryBackOff_.toBuilder();
}
rateLimitedRetryBackOff_ = input.readMessage(io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(rateLimitedRetryBackOff_);
rateLimitedRetryBackOff_ = subBuilder.buildPartial();
}
break;
}
case 98: {
if (!((mutable_bitField0_ & 0x00000002) != 0)) {
retryOptionsPredicates_ = new java.util.ArrayList();
mutable_bitField0_ |= 0x00000002;
}
retryOptionsPredicates_.add(
input.readMessage(io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.parser(), extensionRegistry));
break;
}
case 106: {
com.google.protobuf.Duration.Builder subBuilder = null;
if (perTryIdleTimeout_ != null) {
subBuilder = perTryIdleTimeout_.toBuilder();
}
perTryIdleTimeout_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(perTryIdleTimeout_);
perTryIdleTimeout_ = subBuilder.buildPartial();
}
break;
}
default: {
if (!parseUnknownField(
input, unknownFields, extensionRegistry, tag)) {
done = true;
}
break;
}
}
}
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
throw e.setUnfinishedMessage(this);
} catch (com.google.protobuf.UninitializedMessageException e) {
throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
} catch (java.io.IOException e) {
throw new com.google.protobuf.InvalidProtocolBufferException(
e).setUnfinishedMessage(this);
} finally {
if (((mutable_bitField0_ & 0x00000001) != 0)) {
retryHostPredicate_ = java.util.Collections.unmodifiableList(retryHostPredicate_);
}
if (((mutable_bitField0_ & 0x00000004) != 0)) {
retriableStatusCodes_.makeImmutable(); // C
}
if (((mutable_bitField0_ & 0x00000008) != 0)) {
retriableHeaders_ = java.util.Collections.unmodifiableList(retriableHeaders_);
}
if (((mutable_bitField0_ & 0x00000010) != 0)) {
retriableRequestHeaders_ = java.util.Collections.unmodifiableList(retriableRequestHeaders_);
}
if (((mutable_bitField0_ & 0x00000002) != 0)) {
retryOptionsPredicates_ = java.util.Collections.unmodifiableList(retryOptionsPredicates_);
}
this.unknownFields = unknownFields.build();
makeExtensionsImmutable();
}
}
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_RetryPolicy_descriptor;
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_RetryPolicy_fieldAccessorTable
.ensureFieldAccessorsInitialized(
io.envoyproxy.envoy.config.route.v3.RetryPolicy.class, io.envoyproxy.envoy.config.route.v3.RetryPolicy.Builder.class);
}
/**
* Protobuf enum {@code envoy.config.route.v3.RetryPolicy.ResetHeaderFormat}
*/
public enum ResetHeaderFormat
implements com.google.protobuf.ProtocolMessageEnum {
/**
* SECONDS = 0;
*/
SECONDS(0),
/**
* UNIX_TIMESTAMP = 1;
*/
UNIX_TIMESTAMP(1),
UNRECOGNIZED(-1),
;
/**
* SECONDS = 0;
*/
public static final int SECONDS_VALUE = 0;
/**
* UNIX_TIMESTAMP = 1;
*/
public static final int UNIX_TIMESTAMP_VALUE = 1;
public final int getNumber() {
if (this == UNRECOGNIZED) {
throw new java.lang.IllegalArgumentException(
"Can't get the number of an unknown enum value.");
}
return value;
}
/**
* @param value The numeric wire value of the corresponding enum entry.
* @return The enum associated with the given numeric wire value.
* @deprecated Use {@link #forNumber(int)} instead.
*/
@java.lang.Deprecated
public static ResetHeaderFormat valueOf(int value) {
return forNumber(value);
}
/**
* @param value The numeric wire value of the corresponding enum entry.
* @return The enum associated with the given numeric wire value.
*/
public static ResetHeaderFormat forNumber(int value) {
switch (value) {
case 0: return SECONDS;
case 1: return UNIX_TIMESTAMP;
default: return null;
}
}
public static com.google.protobuf.Internal.EnumLiteMap
internalGetValueMap() {
return internalValueMap;
}
private static final com.google.protobuf.Internal.EnumLiteMap<
ResetHeaderFormat> internalValueMap =
new com.google.protobuf.Internal.EnumLiteMap() {
public ResetHeaderFormat findValueByNumber(int number) {
return ResetHeaderFormat.forNumber(number);
}
};
public final com.google.protobuf.Descriptors.EnumValueDescriptor
getValueDescriptor() {
if (this == UNRECOGNIZED) {
throw new java.lang.IllegalStateException(
"Can't get the descriptor of an unrecognized enum value.");
}
return getDescriptor().getValues().get(ordinal());
}
public final com.google.protobuf.Descriptors.EnumDescriptor
getDescriptorForType() {
return getDescriptor();
}
public static final com.google.protobuf.Descriptors.EnumDescriptor
getDescriptor() {
return io.envoyproxy.envoy.config.route.v3.RetryPolicy.getDescriptor().getEnumTypes().get(0);
}
private static final ResetHeaderFormat[] VALUES = values();
public static ResetHeaderFormat valueOf(
com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
if (desc.getType() != getDescriptor()) {
throw new java.lang.IllegalArgumentException(
"EnumValueDescriptor is not for this type.");
}
if (desc.getIndex() == -1) {
return UNRECOGNIZED;
}
return VALUES[desc.getIndex()];
}
private final int value;
private ResetHeaderFormat(int value) {
this.value = value;
}
// @@protoc_insertion_point(enum_scope:envoy.config.route.v3.RetryPolicy.ResetHeaderFormat)
}
public interface RetryPriorityOrBuilder extends
// @@protoc_insertion_point(interface_extends:envoy.config.route.v3.RetryPolicy.RetryPriority)
com.google.protobuf.MessageOrBuilder {
/**
* string name = 1 [(.validate.rules) = { ... }
* @return The name.
*/
java.lang.String getName();
/**
* string name = 1 [(.validate.rules) = { ... }
* @return The bytes for name.
*/
com.google.protobuf.ByteString
getNameBytes();
/**
* .google.protobuf.Any typed_config = 3;
* @return Whether the typedConfig field is set.
*/
boolean hasTypedConfig();
/**
* .google.protobuf.Any typed_config = 3;
* @return The typedConfig.
*/
com.google.protobuf.Any getTypedConfig();
/**
* .google.protobuf.Any typed_config = 3;
*/
com.google.protobuf.AnyOrBuilder getTypedConfigOrBuilder();
public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority.ConfigTypeCase getConfigTypeCase();
}
/**
* Protobuf type {@code envoy.config.route.v3.RetryPolicy.RetryPriority}
*/
public static final class RetryPriority extends
com.google.protobuf.GeneratedMessageV3 implements
// @@protoc_insertion_point(message_implements:envoy.config.route.v3.RetryPolicy.RetryPriority)
RetryPriorityOrBuilder {
private static final long serialVersionUID = 0L;
// Use RetryPriority.newBuilder() to construct.
private RetryPriority(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
super(builder);
}
private RetryPriority() {
name_ = "";
}
@java.lang.Override
@SuppressWarnings({"unused"})
protected java.lang.Object newInstance(
UnusedPrivateParameter unused) {
return new RetryPriority();
}
@java.lang.Override
public final com.google.protobuf.UnknownFieldSet
getUnknownFields() {
return this.unknownFields;
}
private RetryPriority(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
this();
if (extensionRegistry == null) {
throw new java.lang.NullPointerException();
}
com.google.protobuf.UnknownFieldSet.Builder unknownFields =
com.google.protobuf.UnknownFieldSet.newBuilder();
try {
boolean done = false;
while (!done) {
int tag = input.readTag();
switch (tag) {
case 0:
done = true;
break;
case 10: {
java.lang.String s = input.readStringRequireUtf8();
name_ = s;
break;
}
case 26: {
com.google.protobuf.Any.Builder subBuilder = null;
if (configTypeCase_ == 3) {
subBuilder = ((com.google.protobuf.Any) configType_).toBuilder();
}
configType_ =
input.readMessage(com.google.protobuf.Any.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom((com.google.protobuf.Any) configType_);
configType_ = subBuilder.buildPartial();
}
configTypeCase_ = 3;
break;
}
default: {
if (!parseUnknownField(
input, unknownFields, extensionRegistry, tag)) {
done = true;
}
break;
}
}
}
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
throw e.setUnfinishedMessage(this);
} catch (com.google.protobuf.UninitializedMessageException e) {
throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
} catch (java.io.IOException e) {
throw new com.google.protobuf.InvalidProtocolBufferException(
e).setUnfinishedMessage(this);
} finally {
this.unknownFields = unknownFields.build();
makeExtensionsImmutable();
}
}
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_RetryPolicy_RetryPriority_descriptor;
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_RetryPolicy_RetryPriority_fieldAccessorTable
.ensureFieldAccessorsInitialized(
io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority.class, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority.Builder.class);
}
private int configTypeCase_ = 0;
private java.lang.Object configType_;
public enum ConfigTypeCase
implements com.google.protobuf.Internal.EnumLite,
com.google.protobuf.AbstractMessage.InternalOneOfEnum {
TYPED_CONFIG(3),
CONFIGTYPE_NOT_SET(0);
private final int value;
private ConfigTypeCase(int value) {
this.value = value;
}
/**
* @param value The number of the enum to look for.
* @return The enum associated with the given number.
* @deprecated Use {@link #forNumber(int)} instead.
*/
@java.lang.Deprecated
public static ConfigTypeCase valueOf(int value) {
return forNumber(value);
}
public static ConfigTypeCase forNumber(int value) {
switch (value) {
case 3: return TYPED_CONFIG;
case 0: return CONFIGTYPE_NOT_SET;
default: return null;
}
}
public int getNumber() {
return this.value;
}
};
public ConfigTypeCase
getConfigTypeCase() {
return ConfigTypeCase.forNumber(
configTypeCase_);
}
public static final int NAME_FIELD_NUMBER = 1;
private volatile java.lang.Object name_;
/**
* string name = 1 [(.validate.rules) = { ... }
* @return The name.
*/
@java.lang.Override
public java.lang.String getName() {
java.lang.Object ref = name_;
if (ref instanceof java.lang.String) {
return (java.lang.String) ref;
} else {
com.google.protobuf.ByteString bs =
(com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
name_ = s;
return s;
}
}
/**
* string name = 1 [(.validate.rules) = { ... }
* @return The bytes for name.
*/
@java.lang.Override
public com.google.protobuf.ByteString
getNameBytes() {
java.lang.Object ref = name_;
if (ref instanceof java.lang.String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
name_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
public static final int TYPED_CONFIG_FIELD_NUMBER = 3;
/**
* .google.protobuf.Any typed_config = 3;
* @return Whether the typedConfig field is set.
*/
@java.lang.Override
public boolean hasTypedConfig() {
return configTypeCase_ == 3;
}
/**
* .google.protobuf.Any typed_config = 3;
* @return The typedConfig.
*/
@java.lang.Override
public com.google.protobuf.Any getTypedConfig() {
if (configTypeCase_ == 3) {
return (com.google.protobuf.Any) configType_;
}
return com.google.protobuf.Any.getDefaultInstance();
}
/**
* .google.protobuf.Any typed_config = 3;
*/
@java.lang.Override
public com.google.protobuf.AnyOrBuilder getTypedConfigOrBuilder() {
if (configTypeCase_ == 3) {
return (com.google.protobuf.Any) configType_;
}
return com.google.protobuf.Any.getDefaultInstance();
}
private byte memoizedIsInitialized = -1;
@java.lang.Override
public final boolean isInitialized() {
byte isInitialized = memoizedIsInitialized;
if (isInitialized == 1) return true;
if (isInitialized == 0) return false;
memoizedIsInitialized = 1;
return true;
}
@java.lang.Override
public void writeTo(com.google.protobuf.CodedOutputStream output)
throws java.io.IOException {
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
}
if (configTypeCase_ == 3) {
output.writeMessage(3, (com.google.protobuf.Any) configType_);
}
unknownFields.writeTo(output);
}
@java.lang.Override
public int getSerializedSize() {
int size = memoizedSize;
if (size != -1) return size;
size = 0;
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
}
if (configTypeCase_ == 3) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(3, (com.google.protobuf.Any) configType_);
}
size += unknownFields.getSerializedSize();
memoizedSize = size;
return size;
}
@java.lang.Override
public boolean equals(final java.lang.Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority)) {
return super.equals(obj);
}
io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority other = (io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority) obj;
if (!getName()
.equals(other.getName())) return false;
if (!getConfigTypeCase().equals(other.getConfigTypeCase())) return false;
switch (configTypeCase_) {
case 3:
if (!getTypedConfig()
.equals(other.getTypedConfig())) return false;
break;
case 0:
default:
}
if (!unknownFields.equals(other.unknownFields)) return false;
return true;
}
@java.lang.Override
public int hashCode() {
if (memoizedHashCode != 0) {
return memoizedHashCode;
}
int hash = 41;
hash = (19 * hash) + getDescriptor().hashCode();
hash = (37 * hash) + NAME_FIELD_NUMBER;
hash = (53 * hash) + getName().hashCode();
switch (configTypeCase_) {
case 3:
hash = (37 * hash) + TYPED_CONFIG_FIELD_NUMBER;
hash = (53 * hash) + getTypedConfig().hashCode();
break;
case 0:
default:
}
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
return hash;
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority parseFrom(
java.nio.ByteBuffer data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority parseFrom(
java.nio.ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority parseFrom(
com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority parseFrom(
byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority parseFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority parseFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority parseDelimitedFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseDelimitedWithIOException(PARSER, input);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority parseDelimitedFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseDelimitedWithIOException(PARSER, input, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority parseFrom(
com.google.protobuf.CodedInputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority parseFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input, extensionRegistry);
}
@java.lang.Override
public Builder newBuilderForType() { return newBuilder(); }
public static Builder newBuilder() {
return DEFAULT_INSTANCE.toBuilder();
}
public static Builder newBuilder(io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority prototype) {
return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
}
@java.lang.Override
public Builder toBuilder() {
return this == DEFAULT_INSTANCE
? new Builder() : new Builder().mergeFrom(this);
}
@java.lang.Override
protected Builder newBuilderForType(
com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
Builder builder = new Builder(parent);
return builder;
}
/**
* Protobuf type {@code envoy.config.route.v3.RetryPolicy.RetryPriority}
*/
public static final class Builder extends
com.google.protobuf.GeneratedMessageV3.Builder implements
// @@protoc_insertion_point(builder_implements:envoy.config.route.v3.RetryPolicy.RetryPriority)
io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriorityOrBuilder {
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_RetryPolicy_RetryPriority_descriptor;
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_RetryPolicy_RetryPriority_fieldAccessorTable
.ensureFieldAccessorsInitialized(
io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority.class, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority.Builder.class);
}
// Construct using io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority.newBuilder()
private Builder() {
maybeForceBuilderInitialization();
}
private Builder(
com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
super(parent);
maybeForceBuilderInitialization();
}
private void maybeForceBuilderInitialization() {
if (com.google.protobuf.GeneratedMessageV3
.alwaysUseFieldBuilders) {
}
}
@java.lang.Override
public Builder clear() {
super.clear();
name_ = "";
configTypeCase_ = 0;
configType_ = null;
return this;
}
@java.lang.Override
public com.google.protobuf.Descriptors.Descriptor
getDescriptorForType() {
return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_RetryPolicy_RetryPriority_descriptor;
}
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority getDefaultInstanceForType() {
return io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority.getDefaultInstance();
}
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority build() {
io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority result = buildPartial();
if (!result.isInitialized()) {
throw newUninitializedMessageException(result);
}
return result;
}
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority buildPartial() {
io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority result = new io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority(this);
result.name_ = name_;
if (configTypeCase_ == 3) {
if (typedConfigBuilder_ == null) {
result.configType_ = configType_;
} else {
result.configType_ = typedConfigBuilder_.build();
}
}
result.configTypeCase_ = configTypeCase_;
onBuilt();
return result;
}
@java.lang.Override
public Builder clone() {
return super.clone();
}
@java.lang.Override
public Builder setField(
com.google.protobuf.Descriptors.FieldDescriptor field,
java.lang.Object value) {
return super.setField(field, value);
}
@java.lang.Override
public Builder clearField(
com.google.protobuf.Descriptors.FieldDescriptor field) {
return super.clearField(field);
}
@java.lang.Override
public Builder clearOneof(
com.google.protobuf.Descriptors.OneofDescriptor oneof) {
return super.clearOneof(oneof);
}
@java.lang.Override
public Builder setRepeatedField(
com.google.protobuf.Descriptors.FieldDescriptor field,
int index, java.lang.Object value) {
return super.setRepeatedField(field, index, value);
}
@java.lang.Override
public Builder addRepeatedField(
com.google.protobuf.Descriptors.FieldDescriptor field,
java.lang.Object value) {
return super.addRepeatedField(field, value);
}
@java.lang.Override
public Builder mergeFrom(com.google.protobuf.Message other) {
if (other instanceof io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority) {
return mergeFrom((io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority)other);
} else {
super.mergeFrom(other);
return this;
}
}
public Builder mergeFrom(io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority other) {
if (other == io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority.getDefaultInstance()) return this;
if (!other.getName().isEmpty()) {
name_ = other.name_;
onChanged();
}
switch (other.getConfigTypeCase()) {
case TYPED_CONFIG: {
mergeTypedConfig(other.getTypedConfig());
break;
}
case CONFIGTYPE_NOT_SET: {
break;
}
}
this.mergeUnknownFields(other.unknownFields);
onChanged();
return this;
}
@java.lang.Override
public final boolean isInitialized() {
return true;
}
@java.lang.Override
public Builder mergeFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority parsedMessage = null;
try {
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
parsedMessage = (io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority) e.getUnfinishedMessage();
throw e.unwrapIOException();
} finally {
if (parsedMessage != null) {
mergeFrom(parsedMessage);
}
}
return this;
}
private int configTypeCase_ = 0;
private java.lang.Object configType_;
public ConfigTypeCase
getConfigTypeCase() {
return ConfigTypeCase.forNumber(
configTypeCase_);
}
public Builder clearConfigType() {
configTypeCase_ = 0;
configType_ = null;
onChanged();
return this;
}
private java.lang.Object name_ = "";
/**
* string name = 1 [(.validate.rules) = { ... }
* @return The name.
*/
public java.lang.String getName() {
java.lang.Object ref = name_;
if (!(ref instanceof java.lang.String)) {
com.google.protobuf.ByteString bs =
(com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
name_ = s;
return s;
} else {
return (java.lang.String) ref;
}
}
/**
* string name = 1 [(.validate.rules) = { ... }
* @return The bytes for name.
*/
public com.google.protobuf.ByteString
getNameBytes() {
java.lang.Object ref = name_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
name_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
/**
* string name = 1 [(.validate.rules) = { ... }
* @param value The name to set.
* @return This builder for chaining.
*/
public Builder setName(
java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
name_ = value;
onChanged();
return this;
}
/**
* string name = 1 [(.validate.rules) = { ... }
* @return This builder for chaining.
*/
public Builder clearName() {
name_ = getDefaultInstance().getName();
onChanged();
return this;
}
/**
* string name = 1 [(.validate.rules) = { ... }
* @param value The bytes for name to set.
* @return This builder for chaining.
*/
public Builder setNameBytes(
com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
name_ = value;
onChanged();
return this;
}
private com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder> typedConfigBuilder_;
/**
* .google.protobuf.Any typed_config = 3;
* @return Whether the typedConfig field is set.
*/
@java.lang.Override
public boolean hasTypedConfig() {
return configTypeCase_ == 3;
}
/**
* .google.protobuf.Any typed_config = 3;
* @return The typedConfig.
*/
@java.lang.Override
public com.google.protobuf.Any getTypedConfig() {
if (typedConfigBuilder_ == null) {
if (configTypeCase_ == 3) {
return (com.google.protobuf.Any) configType_;
}
return com.google.protobuf.Any.getDefaultInstance();
} else {
if (configTypeCase_ == 3) {
return typedConfigBuilder_.getMessage();
}
return com.google.protobuf.Any.getDefaultInstance();
}
}
/**
* .google.protobuf.Any typed_config = 3;
*/
public Builder setTypedConfig(com.google.protobuf.Any value) {
if (typedConfigBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
configType_ = value;
onChanged();
} else {
typedConfigBuilder_.setMessage(value);
}
configTypeCase_ = 3;
return this;
}
/**
* .google.protobuf.Any typed_config = 3;
*/
public Builder setTypedConfig(
com.google.protobuf.Any.Builder builderForValue) {
if (typedConfigBuilder_ == null) {
configType_ = builderForValue.build();
onChanged();
} else {
typedConfigBuilder_.setMessage(builderForValue.build());
}
configTypeCase_ = 3;
return this;
}
/**
* .google.protobuf.Any typed_config = 3;
*/
public Builder mergeTypedConfig(com.google.protobuf.Any value) {
if (typedConfigBuilder_ == null) {
if (configTypeCase_ == 3 &&
configType_ != com.google.protobuf.Any.getDefaultInstance()) {
configType_ = com.google.protobuf.Any.newBuilder((com.google.protobuf.Any) configType_)
.mergeFrom(value).buildPartial();
} else {
configType_ = value;
}
onChanged();
} else {
if (configTypeCase_ == 3) {
typedConfigBuilder_.mergeFrom(value);
} else {
typedConfigBuilder_.setMessage(value);
}
}
configTypeCase_ = 3;
return this;
}
/**
* .google.protobuf.Any typed_config = 3;
*/
public Builder clearTypedConfig() {
if (typedConfigBuilder_ == null) {
if (configTypeCase_ == 3) {
configTypeCase_ = 0;
configType_ = null;
onChanged();
}
} else {
if (configTypeCase_ == 3) {
configTypeCase_ = 0;
configType_ = null;
}
typedConfigBuilder_.clear();
}
return this;
}
/**
* .google.protobuf.Any typed_config = 3;
*/
public com.google.protobuf.Any.Builder getTypedConfigBuilder() {
return getTypedConfigFieldBuilder().getBuilder();
}
/**
* .google.protobuf.Any typed_config = 3;
*/
@java.lang.Override
public com.google.protobuf.AnyOrBuilder getTypedConfigOrBuilder() {
if ((configTypeCase_ == 3) && (typedConfigBuilder_ != null)) {
return typedConfigBuilder_.getMessageOrBuilder();
} else {
if (configTypeCase_ == 3) {
return (com.google.protobuf.Any) configType_;
}
return com.google.protobuf.Any.getDefaultInstance();
}
}
/**
* .google.protobuf.Any typed_config = 3;
*/
private com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder>
getTypedConfigFieldBuilder() {
if (typedConfigBuilder_ == null) {
if (!(configTypeCase_ == 3)) {
configType_ = com.google.protobuf.Any.getDefaultInstance();
}
typedConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder>(
(com.google.protobuf.Any) configType_,
getParentForChildren(),
isClean());
configType_ = null;
}
configTypeCase_ = 3;
onChanged();;
return typedConfigBuilder_;
}
@java.lang.Override
public final Builder setUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
}
@java.lang.Override
public final Builder mergeUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.mergeUnknownFields(unknownFields);
}
// @@protoc_insertion_point(builder_scope:envoy.config.route.v3.RetryPolicy.RetryPriority)
}
// @@protoc_insertion_point(class_scope:envoy.config.route.v3.RetryPolicy.RetryPriority)
private static final io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority DEFAULT_INSTANCE;
static {
DEFAULT_INSTANCE = new io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority();
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority getDefaultInstance() {
return DEFAULT_INSTANCE;
}
private static final com.google.protobuf.Parser
PARSER = new com.google.protobuf.AbstractParser() {
@java.lang.Override
public RetryPriority parsePartialFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return new RetryPriority(input, extensionRegistry);
}
};
public static com.google.protobuf.Parser parser() {
return PARSER;
}
@java.lang.Override
public com.google.protobuf.Parser getParserForType() {
return PARSER;
}
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority getDefaultInstanceForType() {
return DEFAULT_INSTANCE;
}
}
public interface RetryHostPredicateOrBuilder extends
// @@protoc_insertion_point(interface_extends:envoy.config.route.v3.RetryPolicy.RetryHostPredicate)
com.google.protobuf.MessageOrBuilder {
/**
* string name = 1 [(.validate.rules) = { ... }
* @return The name.
*/
java.lang.String getName();
/**
* string name = 1 [(.validate.rules) = { ... }
* @return The bytes for name.
*/
com.google.protobuf.ByteString
getNameBytes();
/**
* .google.protobuf.Any typed_config = 3;
* @return Whether the typedConfig field is set.
*/
boolean hasTypedConfig();
/**
* .google.protobuf.Any typed_config = 3;
* @return The typedConfig.
*/
com.google.protobuf.Any getTypedConfig();
/**
* .google.protobuf.Any typed_config = 3;
*/
com.google.protobuf.AnyOrBuilder getTypedConfigOrBuilder();
public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate.ConfigTypeCase getConfigTypeCase();
}
/**
* Protobuf type {@code envoy.config.route.v3.RetryPolicy.RetryHostPredicate}
*/
public static final class RetryHostPredicate extends
com.google.protobuf.GeneratedMessageV3 implements
// @@protoc_insertion_point(message_implements:envoy.config.route.v3.RetryPolicy.RetryHostPredicate)
RetryHostPredicateOrBuilder {
private static final long serialVersionUID = 0L;
// Use RetryHostPredicate.newBuilder() to construct.
private RetryHostPredicate(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
super(builder);
}
private RetryHostPredicate() {
name_ = "";
}
@java.lang.Override
@SuppressWarnings({"unused"})
protected java.lang.Object newInstance(
UnusedPrivateParameter unused) {
return new RetryHostPredicate();
}
@java.lang.Override
public final com.google.protobuf.UnknownFieldSet
getUnknownFields() {
return this.unknownFields;
}
private RetryHostPredicate(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
this();
if (extensionRegistry == null) {
throw new java.lang.NullPointerException();
}
com.google.protobuf.UnknownFieldSet.Builder unknownFields =
com.google.protobuf.UnknownFieldSet.newBuilder();
try {
boolean done = false;
while (!done) {
int tag = input.readTag();
switch (tag) {
case 0:
done = true;
break;
case 10: {
java.lang.String s = input.readStringRequireUtf8();
name_ = s;
break;
}
case 26: {
com.google.protobuf.Any.Builder subBuilder = null;
if (configTypeCase_ == 3) {
subBuilder = ((com.google.protobuf.Any) configType_).toBuilder();
}
configType_ =
input.readMessage(com.google.protobuf.Any.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom((com.google.protobuf.Any) configType_);
configType_ = subBuilder.buildPartial();
}
configTypeCase_ = 3;
break;
}
default: {
if (!parseUnknownField(
input, unknownFields, extensionRegistry, tag)) {
done = true;
}
break;
}
}
}
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
throw e.setUnfinishedMessage(this);
} catch (com.google.protobuf.UninitializedMessageException e) {
throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
} catch (java.io.IOException e) {
throw new com.google.protobuf.InvalidProtocolBufferException(
e).setUnfinishedMessage(this);
} finally {
this.unknownFields = unknownFields.build();
makeExtensionsImmutable();
}
}
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_RetryPolicy_RetryHostPredicate_descriptor;
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_RetryPolicy_RetryHostPredicate_fieldAccessorTable
.ensureFieldAccessorsInitialized(
io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate.class, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate.Builder.class);
}
private int configTypeCase_ = 0;
private java.lang.Object configType_;
public enum ConfigTypeCase
implements com.google.protobuf.Internal.EnumLite,
com.google.protobuf.AbstractMessage.InternalOneOfEnum {
TYPED_CONFIG(3),
CONFIGTYPE_NOT_SET(0);
private final int value;
private ConfigTypeCase(int value) {
this.value = value;
}
/**
* @param value The number of the enum to look for.
* @return The enum associated with the given number.
* @deprecated Use {@link #forNumber(int)} instead.
*/
@java.lang.Deprecated
public static ConfigTypeCase valueOf(int value) {
return forNumber(value);
}
public static ConfigTypeCase forNumber(int value) {
switch (value) {
case 3: return TYPED_CONFIG;
case 0: return CONFIGTYPE_NOT_SET;
default: return null;
}
}
public int getNumber() {
return this.value;
}
};
public ConfigTypeCase
getConfigTypeCase() {
return ConfigTypeCase.forNumber(
configTypeCase_);
}
public static final int NAME_FIELD_NUMBER = 1;
private volatile java.lang.Object name_;
/**
* string name = 1 [(.validate.rules) = { ... }
* @return The name.
*/
@java.lang.Override
public java.lang.String getName() {
java.lang.Object ref = name_;
if (ref instanceof java.lang.String) {
return (java.lang.String) ref;
} else {
com.google.protobuf.ByteString bs =
(com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
name_ = s;
return s;
}
}
/**
* string name = 1 [(.validate.rules) = { ... }
* @return The bytes for name.
*/
@java.lang.Override
public com.google.protobuf.ByteString
getNameBytes() {
java.lang.Object ref = name_;
if (ref instanceof java.lang.String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
name_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
public static final int TYPED_CONFIG_FIELD_NUMBER = 3;
/**
* .google.protobuf.Any typed_config = 3;
* @return Whether the typedConfig field is set.
*/
@java.lang.Override
public boolean hasTypedConfig() {
return configTypeCase_ == 3;
}
/**
* .google.protobuf.Any typed_config = 3;
* @return The typedConfig.
*/
@java.lang.Override
public com.google.protobuf.Any getTypedConfig() {
if (configTypeCase_ == 3) {
return (com.google.protobuf.Any) configType_;
}
return com.google.protobuf.Any.getDefaultInstance();
}
/**
* .google.protobuf.Any typed_config = 3;
*/
@java.lang.Override
public com.google.protobuf.AnyOrBuilder getTypedConfigOrBuilder() {
if (configTypeCase_ == 3) {
return (com.google.protobuf.Any) configType_;
}
return com.google.protobuf.Any.getDefaultInstance();
}
private byte memoizedIsInitialized = -1;
@java.lang.Override
public final boolean isInitialized() {
byte isInitialized = memoizedIsInitialized;
if (isInitialized == 1) return true;
if (isInitialized == 0) return false;
memoizedIsInitialized = 1;
return true;
}
@java.lang.Override
public void writeTo(com.google.protobuf.CodedOutputStream output)
throws java.io.IOException {
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
}
if (configTypeCase_ == 3) {
output.writeMessage(3, (com.google.protobuf.Any) configType_);
}
unknownFields.writeTo(output);
}
@java.lang.Override
public int getSerializedSize() {
int size = memoizedSize;
if (size != -1) return size;
size = 0;
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
}
if (configTypeCase_ == 3) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(3, (com.google.protobuf.Any) configType_);
}
size += unknownFields.getSerializedSize();
memoizedSize = size;
return size;
}
@java.lang.Override
public boolean equals(final java.lang.Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate)) {
return super.equals(obj);
}
io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate other = (io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate) obj;
if (!getName()
.equals(other.getName())) return false;
if (!getConfigTypeCase().equals(other.getConfigTypeCase())) return false;
switch (configTypeCase_) {
case 3:
if (!getTypedConfig()
.equals(other.getTypedConfig())) return false;
break;
case 0:
default:
}
if (!unknownFields.equals(other.unknownFields)) return false;
return true;
}
@java.lang.Override
public int hashCode() {
if (memoizedHashCode != 0) {
return memoizedHashCode;
}
int hash = 41;
hash = (19 * hash) + getDescriptor().hashCode();
hash = (37 * hash) + NAME_FIELD_NUMBER;
hash = (53 * hash) + getName().hashCode();
switch (configTypeCase_) {
case 3:
hash = (37 * hash) + TYPED_CONFIG_FIELD_NUMBER;
hash = (53 * hash) + getTypedConfig().hashCode();
break;
case 0:
default:
}
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
return hash;
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate parseFrom(
java.nio.ByteBuffer data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate parseFrom(
java.nio.ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate parseFrom(
com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate parseFrom(
byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate parseFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate parseFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate parseDelimitedFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseDelimitedWithIOException(PARSER, input);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate parseDelimitedFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseDelimitedWithIOException(PARSER, input, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate parseFrom(
com.google.protobuf.CodedInputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate parseFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input, extensionRegistry);
}
@java.lang.Override
public Builder newBuilderForType() { return newBuilder(); }
public static Builder newBuilder() {
return DEFAULT_INSTANCE.toBuilder();
}
public static Builder newBuilder(io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate prototype) {
return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
}
@java.lang.Override
public Builder toBuilder() {
return this == DEFAULT_INSTANCE
? new Builder() : new Builder().mergeFrom(this);
}
@java.lang.Override
protected Builder newBuilderForType(
com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
Builder builder = new Builder(parent);
return builder;
}
/**
* Protobuf type {@code envoy.config.route.v3.RetryPolicy.RetryHostPredicate}
*/
public static final class Builder extends
com.google.protobuf.GeneratedMessageV3.Builder implements
// @@protoc_insertion_point(builder_implements:envoy.config.route.v3.RetryPolicy.RetryHostPredicate)
io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicateOrBuilder {
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_RetryPolicy_RetryHostPredicate_descriptor;
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_RetryPolicy_RetryHostPredicate_fieldAccessorTable
.ensureFieldAccessorsInitialized(
io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate.class, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate.Builder.class);
}
// Construct using io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate.newBuilder()
private Builder() {
maybeForceBuilderInitialization();
}
private Builder(
com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
super(parent);
maybeForceBuilderInitialization();
}
private void maybeForceBuilderInitialization() {
if (com.google.protobuf.GeneratedMessageV3
.alwaysUseFieldBuilders) {
}
}
@java.lang.Override
public Builder clear() {
super.clear();
name_ = "";
configTypeCase_ = 0;
configType_ = null;
return this;
}
@java.lang.Override
public com.google.protobuf.Descriptors.Descriptor
getDescriptorForType() {
return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_RetryPolicy_RetryHostPredicate_descriptor;
}
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate getDefaultInstanceForType() {
return io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate.getDefaultInstance();
}
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate build() {
io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate result = buildPartial();
if (!result.isInitialized()) {
throw newUninitializedMessageException(result);
}
return result;
}
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate buildPartial() {
io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate result = new io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate(this);
result.name_ = name_;
if (configTypeCase_ == 3) {
if (typedConfigBuilder_ == null) {
result.configType_ = configType_;
} else {
result.configType_ = typedConfigBuilder_.build();
}
}
result.configTypeCase_ = configTypeCase_;
onBuilt();
return result;
}
@java.lang.Override
public Builder clone() {
return super.clone();
}
@java.lang.Override
public Builder setField(
com.google.protobuf.Descriptors.FieldDescriptor field,
java.lang.Object value) {
return super.setField(field, value);
}
@java.lang.Override
public Builder clearField(
com.google.protobuf.Descriptors.FieldDescriptor field) {
return super.clearField(field);
}
@java.lang.Override
public Builder clearOneof(
com.google.protobuf.Descriptors.OneofDescriptor oneof) {
return super.clearOneof(oneof);
}
@java.lang.Override
public Builder setRepeatedField(
com.google.protobuf.Descriptors.FieldDescriptor field,
int index, java.lang.Object value) {
return super.setRepeatedField(field, index, value);
}
@java.lang.Override
public Builder addRepeatedField(
com.google.protobuf.Descriptors.FieldDescriptor field,
java.lang.Object value) {
return super.addRepeatedField(field, value);
}
@java.lang.Override
public Builder mergeFrom(com.google.protobuf.Message other) {
if (other instanceof io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate) {
return mergeFrom((io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate)other);
} else {
super.mergeFrom(other);
return this;
}
}
public Builder mergeFrom(io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate other) {
if (other == io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate.getDefaultInstance()) return this;
if (!other.getName().isEmpty()) {
name_ = other.name_;
onChanged();
}
switch (other.getConfigTypeCase()) {
case TYPED_CONFIG: {
mergeTypedConfig(other.getTypedConfig());
break;
}
case CONFIGTYPE_NOT_SET: {
break;
}
}
this.mergeUnknownFields(other.unknownFields);
onChanged();
return this;
}
@java.lang.Override
public final boolean isInitialized() {
return true;
}
@java.lang.Override
public Builder mergeFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate parsedMessage = null;
try {
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
parsedMessage = (io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate) e.getUnfinishedMessage();
throw e.unwrapIOException();
} finally {
if (parsedMessage != null) {
mergeFrom(parsedMessage);
}
}
return this;
}
private int configTypeCase_ = 0;
private java.lang.Object configType_;
public ConfigTypeCase
getConfigTypeCase() {
return ConfigTypeCase.forNumber(
configTypeCase_);
}
public Builder clearConfigType() {
configTypeCase_ = 0;
configType_ = null;
onChanged();
return this;
}
private java.lang.Object name_ = "";
/**
* string name = 1 [(.validate.rules) = { ... }
* @return The name.
*/
public java.lang.String getName() {
java.lang.Object ref = name_;
if (!(ref instanceof java.lang.String)) {
com.google.protobuf.ByteString bs =
(com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
name_ = s;
return s;
} else {
return (java.lang.String) ref;
}
}
/**
* string name = 1 [(.validate.rules) = { ... }
* @return The bytes for name.
*/
public com.google.protobuf.ByteString
getNameBytes() {
java.lang.Object ref = name_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
name_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
/**
* string name = 1 [(.validate.rules) = { ... }
* @param value The name to set.
* @return This builder for chaining.
*/
public Builder setName(
java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
name_ = value;
onChanged();
return this;
}
/**
* string name = 1 [(.validate.rules) = { ... }
* @return This builder for chaining.
*/
public Builder clearName() {
name_ = getDefaultInstance().getName();
onChanged();
return this;
}
/**
* string name = 1 [(.validate.rules) = { ... }
* @param value The bytes for name to set.
* @return This builder for chaining.
*/
public Builder setNameBytes(
com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
name_ = value;
onChanged();
return this;
}
private com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder> typedConfigBuilder_;
/**
* .google.protobuf.Any typed_config = 3;
* @return Whether the typedConfig field is set.
*/
@java.lang.Override
public boolean hasTypedConfig() {
return configTypeCase_ == 3;
}
/**
* .google.protobuf.Any typed_config = 3;
* @return The typedConfig.
*/
@java.lang.Override
public com.google.protobuf.Any getTypedConfig() {
if (typedConfigBuilder_ == null) {
if (configTypeCase_ == 3) {
return (com.google.protobuf.Any) configType_;
}
return com.google.protobuf.Any.getDefaultInstance();
} else {
if (configTypeCase_ == 3) {
return typedConfigBuilder_.getMessage();
}
return com.google.protobuf.Any.getDefaultInstance();
}
}
/**
* .google.protobuf.Any typed_config = 3;
*/
public Builder setTypedConfig(com.google.protobuf.Any value) {
if (typedConfigBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
configType_ = value;
onChanged();
} else {
typedConfigBuilder_.setMessage(value);
}
configTypeCase_ = 3;
return this;
}
/**
* .google.protobuf.Any typed_config = 3;
*/
public Builder setTypedConfig(
com.google.protobuf.Any.Builder builderForValue) {
if (typedConfigBuilder_ == null) {
configType_ = builderForValue.build();
onChanged();
} else {
typedConfigBuilder_.setMessage(builderForValue.build());
}
configTypeCase_ = 3;
return this;
}
/**
* .google.protobuf.Any typed_config = 3;
*/
public Builder mergeTypedConfig(com.google.protobuf.Any value) {
if (typedConfigBuilder_ == null) {
if (configTypeCase_ == 3 &&
configType_ != com.google.protobuf.Any.getDefaultInstance()) {
configType_ = com.google.protobuf.Any.newBuilder((com.google.protobuf.Any) configType_)
.mergeFrom(value).buildPartial();
} else {
configType_ = value;
}
onChanged();
} else {
if (configTypeCase_ == 3) {
typedConfigBuilder_.mergeFrom(value);
} else {
typedConfigBuilder_.setMessage(value);
}
}
configTypeCase_ = 3;
return this;
}
/**
* .google.protobuf.Any typed_config = 3;
*/
public Builder clearTypedConfig() {
if (typedConfigBuilder_ == null) {
if (configTypeCase_ == 3) {
configTypeCase_ = 0;
configType_ = null;
onChanged();
}
} else {
if (configTypeCase_ == 3) {
configTypeCase_ = 0;
configType_ = null;
}
typedConfigBuilder_.clear();
}
return this;
}
/**
* .google.protobuf.Any typed_config = 3;
*/
public com.google.protobuf.Any.Builder getTypedConfigBuilder() {
return getTypedConfigFieldBuilder().getBuilder();
}
/**
* .google.protobuf.Any typed_config = 3;
*/
@java.lang.Override
public com.google.protobuf.AnyOrBuilder getTypedConfigOrBuilder() {
if ((configTypeCase_ == 3) && (typedConfigBuilder_ != null)) {
return typedConfigBuilder_.getMessageOrBuilder();
} else {
if (configTypeCase_ == 3) {
return (com.google.protobuf.Any) configType_;
}
return com.google.protobuf.Any.getDefaultInstance();
}
}
/**
* .google.protobuf.Any typed_config = 3;
*/
private com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder>
getTypedConfigFieldBuilder() {
if (typedConfigBuilder_ == null) {
if (!(configTypeCase_ == 3)) {
configType_ = com.google.protobuf.Any.getDefaultInstance();
}
typedConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder>(
(com.google.protobuf.Any) configType_,
getParentForChildren(),
isClean());
configType_ = null;
}
configTypeCase_ = 3;
onChanged();;
return typedConfigBuilder_;
}
@java.lang.Override
public final Builder setUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
}
@java.lang.Override
public final Builder mergeUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.mergeUnknownFields(unknownFields);
}
// @@protoc_insertion_point(builder_scope:envoy.config.route.v3.RetryPolicy.RetryHostPredicate)
}
// @@protoc_insertion_point(class_scope:envoy.config.route.v3.RetryPolicy.RetryHostPredicate)
private static final io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate DEFAULT_INSTANCE;
static {
DEFAULT_INSTANCE = new io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate();
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate getDefaultInstance() {
return DEFAULT_INSTANCE;
}
private static final com.google.protobuf.Parser
PARSER = new com.google.protobuf.AbstractParser() {
@java.lang.Override
public RetryHostPredicate parsePartialFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return new RetryHostPredicate(input, extensionRegistry);
}
};
public static com.google.protobuf.Parser parser() {
return PARSER;
}
@java.lang.Override
public com.google.protobuf.Parser getParserForType() {
return PARSER;
}
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate getDefaultInstanceForType() {
return DEFAULT_INSTANCE;
}
}
public interface RetryBackOffOrBuilder extends
// @@protoc_insertion_point(interface_extends:envoy.config.route.v3.RetryPolicy.RetryBackOff)
com.google.protobuf.MessageOrBuilder {
/**
*
* Specifies the base interval between retries. This parameter is required and must be greater
* than zero. Values less than 1 ms are rounded up to 1 ms.
* See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion of Envoy's
* back-off algorithm.
*
*
* .google.protobuf.Duration base_interval = 1 [(.validate.rules) = { ... }
* @return Whether the baseInterval field is set.
*/
boolean hasBaseInterval();
/**
*
* Specifies the base interval between retries. This parameter is required and must be greater
* than zero. Values less than 1 ms are rounded up to 1 ms.
* See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion of Envoy's
* back-off algorithm.
*
* Specifies the base interval between retries. This parameter is required and must be greater
* than zero. Values less than 1 ms are rounded up to 1 ms.
* See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion of Envoy's
* back-off algorithm.
*
* Specifies the maximum interval between retries. This parameter is optional, but must be
* greater than or equal to the ``base_interval`` if set. The default is 10 times the
* ``base_interval``. See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion
* of Envoy's back-off algorithm.
*
*
* .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... }
* @return Whether the maxInterval field is set.
*/
boolean hasMaxInterval();
/**
*
* Specifies the maximum interval between retries. This parameter is optional, but must be
* greater than or equal to the ``base_interval`` if set. The default is 10 times the
* ``base_interval``. See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion
* of Envoy's back-off algorithm.
*
* Specifies the maximum interval between retries. This parameter is optional, but must be
* greater than or equal to the ``base_interval`` if set. The default is 10 times the
* ``base_interval``. See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion
* of Envoy's back-off algorithm.
*
*
* .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... }
*/
com.google.protobuf.DurationOrBuilder getMaxIntervalOrBuilder();
}
/**
* Protobuf type {@code envoy.config.route.v3.RetryPolicy.RetryBackOff}
*/
public static final class RetryBackOff extends
com.google.protobuf.GeneratedMessageV3 implements
// @@protoc_insertion_point(message_implements:envoy.config.route.v3.RetryPolicy.RetryBackOff)
RetryBackOffOrBuilder {
private static final long serialVersionUID = 0L;
// Use RetryBackOff.newBuilder() to construct.
private RetryBackOff(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
super(builder);
}
private RetryBackOff() {
}
@java.lang.Override
@SuppressWarnings({"unused"})
protected java.lang.Object newInstance(
UnusedPrivateParameter unused) {
return new RetryBackOff();
}
@java.lang.Override
public final com.google.protobuf.UnknownFieldSet
getUnknownFields() {
return this.unknownFields;
}
private RetryBackOff(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
this();
if (extensionRegistry == null) {
throw new java.lang.NullPointerException();
}
com.google.protobuf.UnknownFieldSet.Builder unknownFields =
com.google.protobuf.UnknownFieldSet.newBuilder();
try {
boolean done = false;
while (!done) {
int tag = input.readTag();
switch (tag) {
case 0:
done = true;
break;
case 10: {
com.google.protobuf.Duration.Builder subBuilder = null;
if (baseInterval_ != null) {
subBuilder = baseInterval_.toBuilder();
}
baseInterval_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(baseInterval_);
baseInterval_ = subBuilder.buildPartial();
}
break;
}
case 18: {
com.google.protobuf.Duration.Builder subBuilder = null;
if (maxInterval_ != null) {
subBuilder = maxInterval_.toBuilder();
}
maxInterval_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(maxInterval_);
maxInterval_ = subBuilder.buildPartial();
}
break;
}
default: {
if (!parseUnknownField(
input, unknownFields, extensionRegistry, tag)) {
done = true;
}
break;
}
}
}
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
throw e.setUnfinishedMessage(this);
} catch (com.google.protobuf.UninitializedMessageException e) {
throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
} catch (java.io.IOException e) {
throw new com.google.protobuf.InvalidProtocolBufferException(
e).setUnfinishedMessage(this);
} finally {
this.unknownFields = unknownFields.build();
makeExtensionsImmutable();
}
}
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_RetryPolicy_RetryBackOff_descriptor;
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_RetryPolicy_RetryBackOff_fieldAccessorTable
.ensureFieldAccessorsInitialized(
io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff.class, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff.Builder.class);
}
public static final int BASE_INTERVAL_FIELD_NUMBER = 1;
private com.google.protobuf.Duration baseInterval_;
/**
*
* Specifies the base interval between retries. This parameter is required and must be greater
* than zero. Values less than 1 ms are rounded up to 1 ms.
* See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion of Envoy's
* back-off algorithm.
*
*
* .google.protobuf.Duration base_interval = 1 [(.validate.rules) = { ... }
* @return Whether the baseInterval field is set.
*/
@java.lang.Override
public boolean hasBaseInterval() {
return baseInterval_ != null;
}
/**
*
* Specifies the base interval between retries. This parameter is required and must be greater
* than zero. Values less than 1 ms are rounded up to 1 ms.
* See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion of Envoy's
* back-off algorithm.
*
* Specifies the base interval between retries. This parameter is required and must be greater
* than zero. Values less than 1 ms are rounded up to 1 ms.
* See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion of Envoy's
* back-off algorithm.
*
*
* .google.protobuf.Duration base_interval = 1 [(.validate.rules) = { ... }
*/
@java.lang.Override
public com.google.protobuf.DurationOrBuilder getBaseIntervalOrBuilder() {
return getBaseInterval();
}
public static final int MAX_INTERVAL_FIELD_NUMBER = 2;
private com.google.protobuf.Duration maxInterval_;
/**
*
* Specifies the maximum interval between retries. This parameter is optional, but must be
* greater than or equal to the ``base_interval`` if set. The default is 10 times the
* ``base_interval``. See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion
* of Envoy's back-off algorithm.
*
*
* .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... }
* @return Whether the maxInterval field is set.
*/
@java.lang.Override
public boolean hasMaxInterval() {
return maxInterval_ != null;
}
/**
*
* Specifies the maximum interval between retries. This parameter is optional, but must be
* greater than or equal to the ``base_interval`` if set. The default is 10 times the
* ``base_interval``. See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion
* of Envoy's back-off algorithm.
*
* Specifies the maximum interval between retries. This parameter is optional, but must be
* greater than or equal to the ``base_interval`` if set. The default is 10 times the
* ``base_interval``. See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion
* of Envoy's back-off algorithm.
*
*
* .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... }
*/
@java.lang.Override
public com.google.protobuf.DurationOrBuilder getMaxIntervalOrBuilder() {
return getMaxInterval();
}
private byte memoizedIsInitialized = -1;
@java.lang.Override
public final boolean isInitialized() {
byte isInitialized = memoizedIsInitialized;
if (isInitialized == 1) return true;
if (isInitialized == 0) return false;
memoizedIsInitialized = 1;
return true;
}
@java.lang.Override
public void writeTo(com.google.protobuf.CodedOutputStream output)
throws java.io.IOException {
if (baseInterval_ != null) {
output.writeMessage(1, getBaseInterval());
}
if (maxInterval_ != null) {
output.writeMessage(2, getMaxInterval());
}
unknownFields.writeTo(output);
}
@java.lang.Override
public int getSerializedSize() {
int size = memoizedSize;
if (size != -1) return size;
size = 0;
if (baseInterval_ != null) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(1, getBaseInterval());
}
if (maxInterval_ != null) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(2, getMaxInterval());
}
size += unknownFields.getSerializedSize();
memoizedSize = size;
return size;
}
@java.lang.Override
public boolean equals(final java.lang.Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff)) {
return super.equals(obj);
}
io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff other = (io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff) obj;
if (hasBaseInterval() != other.hasBaseInterval()) return false;
if (hasBaseInterval()) {
if (!getBaseInterval()
.equals(other.getBaseInterval())) return false;
}
if (hasMaxInterval() != other.hasMaxInterval()) return false;
if (hasMaxInterval()) {
if (!getMaxInterval()
.equals(other.getMaxInterval())) return false;
}
if (!unknownFields.equals(other.unknownFields)) return false;
return true;
}
@java.lang.Override
public int hashCode() {
if (memoizedHashCode != 0) {
return memoizedHashCode;
}
int hash = 41;
hash = (19 * hash) + getDescriptor().hashCode();
if (hasBaseInterval()) {
hash = (37 * hash) + BASE_INTERVAL_FIELD_NUMBER;
hash = (53 * hash) + getBaseInterval().hashCode();
}
if (hasMaxInterval()) {
hash = (37 * hash) + MAX_INTERVAL_FIELD_NUMBER;
hash = (53 * hash) + getMaxInterval().hashCode();
}
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
return hash;
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff parseFrom(
java.nio.ByteBuffer data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff parseFrom(
java.nio.ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff parseFrom(
com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff parseFrom(
byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff parseFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff parseFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff parseDelimitedFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseDelimitedWithIOException(PARSER, input);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff parseDelimitedFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseDelimitedWithIOException(PARSER, input, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff parseFrom(
com.google.protobuf.CodedInputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff parseFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input, extensionRegistry);
}
@java.lang.Override
public Builder newBuilderForType() { return newBuilder(); }
public static Builder newBuilder() {
return DEFAULT_INSTANCE.toBuilder();
}
public static Builder newBuilder(io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff prototype) {
return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
}
@java.lang.Override
public Builder toBuilder() {
return this == DEFAULT_INSTANCE
? new Builder() : new Builder().mergeFrom(this);
}
@java.lang.Override
protected Builder newBuilderForType(
com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
Builder builder = new Builder(parent);
return builder;
}
/**
* Protobuf type {@code envoy.config.route.v3.RetryPolicy.RetryBackOff}
*/
public static final class Builder extends
com.google.protobuf.GeneratedMessageV3.Builder implements
// @@protoc_insertion_point(builder_implements:envoy.config.route.v3.RetryPolicy.RetryBackOff)
io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOffOrBuilder {
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_RetryPolicy_RetryBackOff_descriptor;
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_RetryPolicy_RetryBackOff_fieldAccessorTable
.ensureFieldAccessorsInitialized(
io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff.class, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff.Builder.class);
}
// Construct using io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff.newBuilder()
private Builder() {
maybeForceBuilderInitialization();
}
private Builder(
com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
super(parent);
maybeForceBuilderInitialization();
}
private void maybeForceBuilderInitialization() {
if (com.google.protobuf.GeneratedMessageV3
.alwaysUseFieldBuilders) {
}
}
@java.lang.Override
public Builder clear() {
super.clear();
if (baseIntervalBuilder_ == null) {
baseInterval_ = null;
} else {
baseInterval_ = null;
baseIntervalBuilder_ = null;
}
if (maxIntervalBuilder_ == null) {
maxInterval_ = null;
} else {
maxInterval_ = null;
maxIntervalBuilder_ = null;
}
return this;
}
@java.lang.Override
public com.google.protobuf.Descriptors.Descriptor
getDescriptorForType() {
return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_RetryPolicy_RetryBackOff_descriptor;
}
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff getDefaultInstanceForType() {
return io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff.getDefaultInstance();
}
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff build() {
io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff result = buildPartial();
if (!result.isInitialized()) {
throw newUninitializedMessageException(result);
}
return result;
}
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff buildPartial() {
io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff result = new io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff(this);
if (baseIntervalBuilder_ == null) {
result.baseInterval_ = baseInterval_;
} else {
result.baseInterval_ = baseIntervalBuilder_.build();
}
if (maxIntervalBuilder_ == null) {
result.maxInterval_ = maxInterval_;
} else {
result.maxInterval_ = maxIntervalBuilder_.build();
}
onBuilt();
return result;
}
@java.lang.Override
public Builder clone() {
return super.clone();
}
@java.lang.Override
public Builder setField(
com.google.protobuf.Descriptors.FieldDescriptor field,
java.lang.Object value) {
return super.setField(field, value);
}
@java.lang.Override
public Builder clearField(
com.google.protobuf.Descriptors.FieldDescriptor field) {
return super.clearField(field);
}
@java.lang.Override
public Builder clearOneof(
com.google.protobuf.Descriptors.OneofDescriptor oneof) {
return super.clearOneof(oneof);
}
@java.lang.Override
public Builder setRepeatedField(
com.google.protobuf.Descriptors.FieldDescriptor field,
int index, java.lang.Object value) {
return super.setRepeatedField(field, index, value);
}
@java.lang.Override
public Builder addRepeatedField(
com.google.protobuf.Descriptors.FieldDescriptor field,
java.lang.Object value) {
return super.addRepeatedField(field, value);
}
@java.lang.Override
public Builder mergeFrom(com.google.protobuf.Message other) {
if (other instanceof io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff) {
return mergeFrom((io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff)other);
} else {
super.mergeFrom(other);
return this;
}
}
public Builder mergeFrom(io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff other) {
if (other == io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff.getDefaultInstance()) return this;
if (other.hasBaseInterval()) {
mergeBaseInterval(other.getBaseInterval());
}
if (other.hasMaxInterval()) {
mergeMaxInterval(other.getMaxInterval());
}
this.mergeUnknownFields(other.unknownFields);
onChanged();
return this;
}
@java.lang.Override
public final boolean isInitialized() {
return true;
}
@java.lang.Override
public Builder mergeFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff parsedMessage = null;
try {
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
parsedMessage = (io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff) e.getUnfinishedMessage();
throw e.unwrapIOException();
} finally {
if (parsedMessage != null) {
mergeFrom(parsedMessage);
}
}
return this;
}
private com.google.protobuf.Duration baseInterval_;
private com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> baseIntervalBuilder_;
/**
*
* Specifies the base interval between retries. This parameter is required and must be greater
* than zero. Values less than 1 ms are rounded up to 1 ms.
* See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion of Envoy's
* back-off algorithm.
*
*
* .google.protobuf.Duration base_interval = 1 [(.validate.rules) = { ... }
* @return Whether the baseInterval field is set.
*/
public boolean hasBaseInterval() {
return baseIntervalBuilder_ != null || baseInterval_ != null;
}
/**
*
* Specifies the base interval between retries. This parameter is required and must be greater
* than zero. Values less than 1 ms are rounded up to 1 ms.
* See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion of Envoy's
* back-off algorithm.
*
* Specifies the base interval between retries. This parameter is required and must be greater
* than zero. Values less than 1 ms are rounded up to 1 ms.
* See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion of Envoy's
* back-off algorithm.
*
* Specifies the base interval between retries. This parameter is required and must be greater
* than zero. Values less than 1 ms are rounded up to 1 ms.
* See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion of Envoy's
* back-off algorithm.
*
* Specifies the base interval between retries. This parameter is required and must be greater
* than zero. Values less than 1 ms are rounded up to 1 ms.
* See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion of Envoy's
* back-off algorithm.
*
* Specifies the base interval between retries. This parameter is required and must be greater
* than zero. Values less than 1 ms are rounded up to 1 ms.
* See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion of Envoy's
* back-off algorithm.
*
* Specifies the base interval between retries. This parameter is required and must be greater
* than zero. Values less than 1 ms are rounded up to 1 ms.
* See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion of Envoy's
* back-off algorithm.
*
* Specifies the base interval between retries. This parameter is required and must be greater
* than zero. Values less than 1 ms are rounded up to 1 ms.
* See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion of Envoy's
* back-off algorithm.
*
* Specifies the base interval between retries. This parameter is required and must be greater
* than zero. Values less than 1 ms are rounded up to 1 ms.
* See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion of Envoy's
* back-off algorithm.
*
* Specifies the maximum interval between retries. This parameter is optional, but must be
* greater than or equal to the ``base_interval`` if set. The default is 10 times the
* ``base_interval``. See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion
* of Envoy's back-off algorithm.
*
*
* .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... }
* @return Whether the maxInterval field is set.
*/
public boolean hasMaxInterval() {
return maxIntervalBuilder_ != null || maxInterval_ != null;
}
/**
*
* Specifies the maximum interval between retries. This parameter is optional, but must be
* greater than or equal to the ``base_interval`` if set. The default is 10 times the
* ``base_interval``. See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion
* of Envoy's back-off algorithm.
*
* Specifies the maximum interval between retries. This parameter is optional, but must be
* greater than or equal to the ``base_interval`` if set. The default is 10 times the
* ``base_interval``. See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion
* of Envoy's back-off algorithm.
*
* Specifies the maximum interval between retries. This parameter is optional, but must be
* greater than or equal to the ``base_interval`` if set. The default is 10 times the
* ``base_interval``. See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion
* of Envoy's back-off algorithm.
*
* Specifies the maximum interval between retries. This parameter is optional, but must be
* greater than or equal to the ``base_interval`` if set. The default is 10 times the
* ``base_interval``. See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion
* of Envoy's back-off algorithm.
*
* Specifies the maximum interval between retries. This parameter is optional, but must be
* greater than or equal to the ``base_interval`` if set. The default is 10 times the
* ``base_interval``. See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion
* of Envoy's back-off algorithm.
*
* Specifies the maximum interval between retries. This parameter is optional, but must be
* greater than or equal to the ``base_interval`` if set. The default is 10 times the
* ``base_interval``. See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion
* of Envoy's back-off algorithm.
*
* Specifies the maximum interval between retries. This parameter is optional, but must be
* greater than or equal to the ``base_interval`` if set. The default is 10 times the
* ``base_interval``. See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion
* of Envoy's back-off algorithm.
*
* Specifies the maximum interval between retries. This parameter is optional, but must be
* greater than or equal to the ``base_interval`` if set. The default is 10 times the
* ``base_interval``. See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion
* of Envoy's back-off algorithm.
*
*
* .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... }
*/
private com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
getMaxIntervalFieldBuilder() {
if (maxIntervalBuilder_ == null) {
maxIntervalBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
getMaxInterval(),
getParentForChildren(),
isClean());
maxInterval_ = null;
}
return maxIntervalBuilder_;
}
@java.lang.Override
public final Builder setUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
}
@java.lang.Override
public final Builder mergeUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.mergeUnknownFields(unknownFields);
}
// @@protoc_insertion_point(builder_scope:envoy.config.route.v3.RetryPolicy.RetryBackOff)
}
// @@protoc_insertion_point(class_scope:envoy.config.route.v3.RetryPolicy.RetryBackOff)
private static final io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff DEFAULT_INSTANCE;
static {
DEFAULT_INSTANCE = new io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff();
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff getDefaultInstance() {
return DEFAULT_INSTANCE;
}
private static final com.google.protobuf.Parser
PARSER = new com.google.protobuf.AbstractParser() {
@java.lang.Override
public RetryBackOff parsePartialFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return new RetryBackOff(input, extensionRegistry);
}
};
public static com.google.protobuf.Parser parser() {
return PARSER;
}
@java.lang.Override
public com.google.protobuf.Parser getParserForType() {
return PARSER;
}
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff getDefaultInstanceForType() {
return DEFAULT_INSTANCE;
}
}
public interface ResetHeaderOrBuilder extends
// @@protoc_insertion_point(interface_extends:envoy.config.route.v3.RetryPolicy.ResetHeader)
com.google.protobuf.MessageOrBuilder {
/**
*
* The name of the reset header.
* .. note::
* If the header appears multiple times only the first value is used.
*
*
* string name = 1 [(.validate.rules) = { ... }
* @return The name.
*/
java.lang.String getName();
/**
*
* The name of the reset header.
* .. note::
* If the header appears multiple times only the first value is used.
*
*
* string name = 1 [(.validate.rules) = { ... }
* @return The bytes for name.
*/
com.google.protobuf.ByteString
getNameBytes();
/**
*
* The format of the reset header.
*
*
* .envoy.config.route.v3.RetryPolicy.ResetHeaderFormat format = 2 [(.validate.rules) = { ... }
* @return The enum numeric value on the wire for format.
*/
int getFormatValue();
/**
*
* The format of the reset header.
*
*
* .envoy.config.route.v3.RetryPolicy.ResetHeaderFormat format = 2 [(.validate.rules) = { ... }
* @return The format.
*/
io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeaderFormat getFormat();
}
/**
* Protobuf type {@code envoy.config.route.v3.RetryPolicy.ResetHeader}
*/
public static final class ResetHeader extends
com.google.protobuf.GeneratedMessageV3 implements
// @@protoc_insertion_point(message_implements:envoy.config.route.v3.RetryPolicy.ResetHeader)
ResetHeaderOrBuilder {
private static final long serialVersionUID = 0L;
// Use ResetHeader.newBuilder() to construct.
private ResetHeader(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
super(builder);
}
private ResetHeader() {
name_ = "";
format_ = 0;
}
@java.lang.Override
@SuppressWarnings({"unused"})
protected java.lang.Object newInstance(
UnusedPrivateParameter unused) {
return new ResetHeader();
}
@java.lang.Override
public final com.google.protobuf.UnknownFieldSet
getUnknownFields() {
return this.unknownFields;
}
private ResetHeader(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
this();
if (extensionRegistry == null) {
throw new java.lang.NullPointerException();
}
com.google.protobuf.UnknownFieldSet.Builder unknownFields =
com.google.protobuf.UnknownFieldSet.newBuilder();
try {
boolean done = false;
while (!done) {
int tag = input.readTag();
switch (tag) {
case 0:
done = true;
break;
case 10: {
java.lang.String s = input.readStringRequireUtf8();
name_ = s;
break;
}
case 16: {
int rawValue = input.readEnum();
format_ = rawValue;
break;
}
default: {
if (!parseUnknownField(
input, unknownFields, extensionRegistry, tag)) {
done = true;
}
break;
}
}
}
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
throw e.setUnfinishedMessage(this);
} catch (com.google.protobuf.UninitializedMessageException e) {
throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
} catch (java.io.IOException e) {
throw new com.google.protobuf.InvalidProtocolBufferException(
e).setUnfinishedMessage(this);
} finally {
this.unknownFields = unknownFields.build();
makeExtensionsImmutable();
}
}
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_RetryPolicy_ResetHeader_descriptor;
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_RetryPolicy_ResetHeader_fieldAccessorTable
.ensureFieldAccessorsInitialized(
io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader.class, io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader.Builder.class);
}
public static final int NAME_FIELD_NUMBER = 1;
private volatile java.lang.Object name_;
/**
*
* The name of the reset header.
* .. note::
* If the header appears multiple times only the first value is used.
*
* The name of the reset header.
* .. note::
* If the header appears multiple times only the first value is used.
*
*
* string name = 1 [(.validate.rules) = { ... }
* @return The bytes for name.
*/
@java.lang.Override
public com.google.protobuf.ByteString
getNameBytes() {
java.lang.Object ref = name_;
if (ref instanceof java.lang.String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
name_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
public static final int FORMAT_FIELD_NUMBER = 2;
private int format_;
/**
*
* The format of the reset header.
*
*
* .envoy.config.route.v3.RetryPolicy.ResetHeaderFormat format = 2 [(.validate.rules) = { ... }
* @return The enum numeric value on the wire for format.
*/
@java.lang.Override public int getFormatValue() {
return format_;
}
/**
*
* The format of the reset header.
*
*
* .envoy.config.route.v3.RetryPolicy.ResetHeaderFormat format = 2 [(.validate.rules) = { ... }
* @return The format.
*/
@java.lang.Override public io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeaderFormat getFormat() {
@SuppressWarnings("deprecation")
io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeaderFormat result = io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeaderFormat.valueOf(format_);
return result == null ? io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeaderFormat.UNRECOGNIZED : result;
}
private byte memoizedIsInitialized = -1;
@java.lang.Override
public final boolean isInitialized() {
byte isInitialized = memoizedIsInitialized;
if (isInitialized == 1) return true;
if (isInitialized == 0) return false;
memoizedIsInitialized = 1;
return true;
}
@java.lang.Override
public void writeTo(com.google.protobuf.CodedOutputStream output)
throws java.io.IOException {
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
}
if (format_ != io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeaderFormat.SECONDS.getNumber()) {
output.writeEnum(2, format_);
}
unknownFields.writeTo(output);
}
@java.lang.Override
public int getSerializedSize() {
int size = memoizedSize;
if (size != -1) return size;
size = 0;
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
}
if (format_ != io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeaderFormat.SECONDS.getNumber()) {
size += com.google.protobuf.CodedOutputStream
.computeEnumSize(2, format_);
}
size += unknownFields.getSerializedSize();
memoizedSize = size;
return size;
}
@java.lang.Override
public boolean equals(final java.lang.Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader)) {
return super.equals(obj);
}
io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader other = (io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader) obj;
if (!getName()
.equals(other.getName())) return false;
if (format_ != other.format_) return false;
if (!unknownFields.equals(other.unknownFields)) return false;
return true;
}
@java.lang.Override
public int hashCode() {
if (memoizedHashCode != 0) {
return memoizedHashCode;
}
int hash = 41;
hash = (19 * hash) + getDescriptor().hashCode();
hash = (37 * hash) + NAME_FIELD_NUMBER;
hash = (53 * hash) + getName().hashCode();
hash = (37 * hash) + FORMAT_FIELD_NUMBER;
hash = (53 * hash) + format_;
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
return hash;
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader parseFrom(
java.nio.ByteBuffer data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader parseFrom(
java.nio.ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader parseFrom(
com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader parseFrom(
byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader parseFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader parseFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader parseDelimitedFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseDelimitedWithIOException(PARSER, input);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader parseDelimitedFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseDelimitedWithIOException(PARSER, input, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader parseFrom(
com.google.protobuf.CodedInputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader parseFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input, extensionRegistry);
}
@java.lang.Override
public Builder newBuilderForType() { return newBuilder(); }
public static Builder newBuilder() {
return DEFAULT_INSTANCE.toBuilder();
}
public static Builder newBuilder(io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader prototype) {
return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
}
@java.lang.Override
public Builder toBuilder() {
return this == DEFAULT_INSTANCE
? new Builder() : new Builder().mergeFrom(this);
}
@java.lang.Override
protected Builder newBuilderForType(
com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
Builder builder = new Builder(parent);
return builder;
}
/**
* Protobuf type {@code envoy.config.route.v3.RetryPolicy.ResetHeader}
*/
public static final class Builder extends
com.google.protobuf.GeneratedMessageV3.Builder implements
// @@protoc_insertion_point(builder_implements:envoy.config.route.v3.RetryPolicy.ResetHeader)
io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeaderOrBuilder {
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_RetryPolicy_ResetHeader_descriptor;
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_RetryPolicy_ResetHeader_fieldAccessorTable
.ensureFieldAccessorsInitialized(
io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader.class, io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader.Builder.class);
}
// Construct using io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader.newBuilder()
private Builder() {
maybeForceBuilderInitialization();
}
private Builder(
com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
super(parent);
maybeForceBuilderInitialization();
}
private void maybeForceBuilderInitialization() {
if (com.google.protobuf.GeneratedMessageV3
.alwaysUseFieldBuilders) {
}
}
@java.lang.Override
public Builder clear() {
super.clear();
name_ = "";
format_ = 0;
return this;
}
@java.lang.Override
public com.google.protobuf.Descriptors.Descriptor
getDescriptorForType() {
return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_RetryPolicy_ResetHeader_descriptor;
}
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader getDefaultInstanceForType() {
return io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader.getDefaultInstance();
}
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader build() {
io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader result = buildPartial();
if (!result.isInitialized()) {
throw newUninitializedMessageException(result);
}
return result;
}
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader buildPartial() {
io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader result = new io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader(this);
result.name_ = name_;
result.format_ = format_;
onBuilt();
return result;
}
@java.lang.Override
public Builder clone() {
return super.clone();
}
@java.lang.Override
public Builder setField(
com.google.protobuf.Descriptors.FieldDescriptor field,
java.lang.Object value) {
return super.setField(field, value);
}
@java.lang.Override
public Builder clearField(
com.google.protobuf.Descriptors.FieldDescriptor field) {
return super.clearField(field);
}
@java.lang.Override
public Builder clearOneof(
com.google.protobuf.Descriptors.OneofDescriptor oneof) {
return super.clearOneof(oneof);
}
@java.lang.Override
public Builder setRepeatedField(
com.google.protobuf.Descriptors.FieldDescriptor field,
int index, java.lang.Object value) {
return super.setRepeatedField(field, index, value);
}
@java.lang.Override
public Builder addRepeatedField(
com.google.protobuf.Descriptors.FieldDescriptor field,
java.lang.Object value) {
return super.addRepeatedField(field, value);
}
@java.lang.Override
public Builder mergeFrom(com.google.protobuf.Message other) {
if (other instanceof io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader) {
return mergeFrom((io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader)other);
} else {
super.mergeFrom(other);
return this;
}
}
public Builder mergeFrom(io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader other) {
if (other == io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader.getDefaultInstance()) return this;
if (!other.getName().isEmpty()) {
name_ = other.name_;
onChanged();
}
if (other.format_ != 0) {
setFormatValue(other.getFormatValue());
}
this.mergeUnknownFields(other.unknownFields);
onChanged();
return this;
}
@java.lang.Override
public final boolean isInitialized() {
return true;
}
@java.lang.Override
public Builder mergeFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader parsedMessage = null;
try {
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
parsedMessage = (io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader) e.getUnfinishedMessage();
throw e.unwrapIOException();
} finally {
if (parsedMessage != null) {
mergeFrom(parsedMessage);
}
}
return this;
}
private java.lang.Object name_ = "";
/**
*
* The name of the reset header.
* .. note::
* If the header appears multiple times only the first value is used.
*
* The name of the reset header.
* .. note::
* If the header appears multiple times only the first value is used.
*
*
* string name = 1 [(.validate.rules) = { ... }
* @return The bytes for name.
*/
public com.google.protobuf.ByteString
getNameBytes() {
java.lang.Object ref = name_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
name_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
/**
*
* The name of the reset header.
* .. note::
* If the header appears multiple times only the first value is used.
*
*
* string name = 1 [(.validate.rules) = { ... }
* @param value The name to set.
* @return This builder for chaining.
*/
public Builder setName(
java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
name_ = value;
onChanged();
return this;
}
/**
*
* The name of the reset header.
* .. note::
* If the header appears multiple times only the first value is used.
*
*
* string name = 1 [(.validate.rules) = { ... }
* @return This builder for chaining.
*/
public Builder clearName() {
name_ = getDefaultInstance().getName();
onChanged();
return this;
}
/**
*
* The name of the reset header.
* .. note::
* If the header appears multiple times only the first value is used.
*
*
* string name = 1 [(.validate.rules) = { ... }
* @param value The bytes for name to set.
* @return This builder for chaining.
*/
public Builder setNameBytes(
com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
name_ = value;
onChanged();
return this;
}
private int format_ = 0;
/**
*
* The format of the reset header.
*
*
* .envoy.config.route.v3.RetryPolicy.ResetHeaderFormat format = 2 [(.validate.rules) = { ... }
* @return The enum numeric value on the wire for format.
*/
@java.lang.Override public int getFormatValue() {
return format_;
}
/**
*
* The format of the reset header.
*
*
* .envoy.config.route.v3.RetryPolicy.ResetHeaderFormat format = 2 [(.validate.rules) = { ... }
* @param value The enum numeric value on the wire for format to set.
* @return This builder for chaining.
*/
public Builder setFormatValue(int value) {
format_ = value;
onChanged();
return this;
}
/**
*
* The format of the reset header.
*
*
* .envoy.config.route.v3.RetryPolicy.ResetHeaderFormat format = 2 [(.validate.rules) = { ... }
* @return The format.
*/
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeaderFormat getFormat() {
@SuppressWarnings("deprecation")
io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeaderFormat result = io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeaderFormat.valueOf(format_);
return result == null ? io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeaderFormat.UNRECOGNIZED : result;
}
/**
*
* The format of the reset header.
*
*
* .envoy.config.route.v3.RetryPolicy.ResetHeaderFormat format = 2 [(.validate.rules) = { ... }
* @param value The format to set.
* @return This builder for chaining.
*/
public Builder setFormat(io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeaderFormat value) {
if (value == null) {
throw new NullPointerException();
}
format_ = value.getNumber();
onChanged();
return this;
}
/**
*
* The format of the reset header.
*
*
* .envoy.config.route.v3.RetryPolicy.ResetHeaderFormat format = 2 [(.validate.rules) = { ... }
* @return This builder for chaining.
*/
public Builder clearFormat() {
format_ = 0;
onChanged();
return this;
}
@java.lang.Override
public final Builder setUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
}
@java.lang.Override
public final Builder mergeUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.mergeUnknownFields(unknownFields);
}
// @@protoc_insertion_point(builder_scope:envoy.config.route.v3.RetryPolicy.ResetHeader)
}
// @@protoc_insertion_point(class_scope:envoy.config.route.v3.RetryPolicy.ResetHeader)
private static final io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader DEFAULT_INSTANCE;
static {
DEFAULT_INSTANCE = new io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader();
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader getDefaultInstance() {
return DEFAULT_INSTANCE;
}
private static final com.google.protobuf.Parser
PARSER = new com.google.protobuf.AbstractParser() {
@java.lang.Override
public ResetHeader parsePartialFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return new ResetHeader(input, extensionRegistry);
}
};
public static com.google.protobuf.Parser parser() {
return PARSER;
}
@java.lang.Override
public com.google.protobuf.Parser getParserForType() {
return PARSER;
}
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader getDefaultInstanceForType() {
return DEFAULT_INSTANCE;
}
}
public interface RateLimitedRetryBackOffOrBuilder extends
// @@protoc_insertion_point(interface_extends:envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff)
com.google.protobuf.MessageOrBuilder {
/**
*
* Specifies the reset headers (like ``Retry-After`` or ``X-RateLimit-Reset``)
* to match against the response. Headers are tried in order, and matched case
* insensitive. The first header to be parsed successfully is used. If no headers
* match the default exponential back-off is used instead.
*
* Specifies the reset headers (like ``Retry-After`` or ``X-RateLimit-Reset``)
* to match against the response. Headers are tried in order, and matched case
* insensitive. The first header to be parsed successfully is used. If no headers
* match the default exponential back-off is used instead.
*
* Specifies the reset headers (like ``Retry-After`` or ``X-RateLimit-Reset``)
* to match against the response. Headers are tried in order, and matched case
* insensitive. The first header to be parsed successfully is used. If no headers
* match the default exponential back-off is used instead.
*
* Specifies the reset headers (like ``Retry-After`` or ``X-RateLimit-Reset``)
* to match against the response. Headers are tried in order, and matched case
* insensitive. The first header to be parsed successfully is used. If no headers
* match the default exponential back-off is used instead.
*
* Specifies the reset headers (like ``Retry-After`` or ``X-RateLimit-Reset``)
* to match against the response. Headers are tried in order, and matched case
* insensitive. The first header to be parsed successfully is used. If no headers
* match the default exponential back-off is used instead.
*
* Specifies the maximum back off interval that Envoy will allow. If a reset
* header contains an interval longer than this then it will be discarded and
* the next header will be tried. Defaults to 300 seconds.
*
*
* .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... }
* @return Whether the maxInterval field is set.
*/
boolean hasMaxInterval();
/**
*
* Specifies the maximum back off interval that Envoy will allow. If a reset
* header contains an interval longer than this then it will be discarded and
* the next header will be tried. Defaults to 300 seconds.
*
* Specifies the maximum back off interval that Envoy will allow. If a reset
* header contains an interval longer than this then it will be discarded and
* the next header will be tried. Defaults to 300 seconds.
*
* A retry back-off strategy that applies when the upstream server rate limits
* the request.
* Given this configuration:
* .. code-block:: yaml
* rate_limited_retry_back_off:
* reset_headers:
* - name: Retry-After
* format: SECONDS
* - name: X-RateLimit-Reset
* format: UNIX_TIMESTAMP
* max_interval: "300s"
* The following algorithm will apply:
* 1. If the response contains the header ``Retry-After`` its value must be on
* the form ``120`` (an integer that represents the number of seconds to
* wait before retrying). If so, this value is used as the back-off interval.
* 2. Otherwise, if the response contains the header ``X-RateLimit-Reset`` its
* value must be on the form ``1595320702`` (an integer that represents the
* point in time at which to retry, as a Unix timestamp in seconds). If so,
* the current time is subtracted from this value and the result is used as
* the back-off interval.
* 3. Otherwise, Envoy will use the default
* :ref:`exponential back-off <envoy_v3_api_field_config.route.v3.RetryPolicy.retry_back_off>`
* strategy.
* No matter which format is used, if the resulting back-off interval exceeds
* ``max_interval`` it is discarded and the next header in ``reset_headers``
* is tried. If a request timeout is configured for the route it will further
* limit how long the request will be allowed to run.
* To prevent many clients retrying at the same point in time jitter is added
* to the back-off interval, so the resulting interval is decided by taking:
* ``random(interval, interval * 1.5)``.
* .. attention::
* Configuring ``rate_limited_retry_back_off`` will not by itself cause a request
* to be retried. You will still need to configure the right retry policy to match
* the responses from the upstream server.
*
*
* Protobuf type {@code envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff}
*/
public static final class RateLimitedRetryBackOff extends
com.google.protobuf.GeneratedMessageV3 implements
// @@protoc_insertion_point(message_implements:envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff)
RateLimitedRetryBackOffOrBuilder {
private static final long serialVersionUID = 0L;
// Use RateLimitedRetryBackOff.newBuilder() to construct.
private RateLimitedRetryBackOff(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
super(builder);
}
private RateLimitedRetryBackOff() {
resetHeaders_ = java.util.Collections.emptyList();
}
@java.lang.Override
@SuppressWarnings({"unused"})
protected java.lang.Object newInstance(
UnusedPrivateParameter unused) {
return new RateLimitedRetryBackOff();
}
@java.lang.Override
public final com.google.protobuf.UnknownFieldSet
getUnknownFields() {
return this.unknownFields;
}
private RateLimitedRetryBackOff(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
this();
if (extensionRegistry == null) {
throw new java.lang.NullPointerException();
}
int mutable_bitField0_ = 0;
com.google.protobuf.UnknownFieldSet.Builder unknownFields =
com.google.protobuf.UnknownFieldSet.newBuilder();
try {
boolean done = false;
while (!done) {
int tag = input.readTag();
switch (tag) {
case 0:
done = true;
break;
case 10: {
if (!((mutable_bitField0_ & 0x00000001) != 0)) {
resetHeaders_ = new java.util.ArrayList();
mutable_bitField0_ |= 0x00000001;
}
resetHeaders_.add(
input.readMessage(io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader.parser(), extensionRegistry));
break;
}
case 18: {
com.google.protobuf.Duration.Builder subBuilder = null;
if (maxInterval_ != null) {
subBuilder = maxInterval_.toBuilder();
}
maxInterval_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(maxInterval_);
maxInterval_ = subBuilder.buildPartial();
}
break;
}
default: {
if (!parseUnknownField(
input, unknownFields, extensionRegistry, tag)) {
done = true;
}
break;
}
}
}
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
throw e.setUnfinishedMessage(this);
} catch (com.google.protobuf.UninitializedMessageException e) {
throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
} catch (java.io.IOException e) {
throw new com.google.protobuf.InvalidProtocolBufferException(
e).setUnfinishedMessage(this);
} finally {
if (((mutable_bitField0_ & 0x00000001) != 0)) {
resetHeaders_ = java.util.Collections.unmodifiableList(resetHeaders_);
}
this.unknownFields = unknownFields.build();
makeExtensionsImmutable();
}
}
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_descriptor;
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_fieldAccessorTable
.ensureFieldAccessorsInitialized(
io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff.class, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff.Builder.class);
}
public static final int RESET_HEADERS_FIELD_NUMBER = 1;
private java.util.List resetHeaders_;
/**
*
* Specifies the reset headers (like ``Retry-After`` or ``X-RateLimit-Reset``)
* to match against the response. Headers are tried in order, and matched case
* insensitive. The first header to be parsed successfully is used. If no headers
* match the default exponential back-off is used instead.
*
* Specifies the reset headers (like ``Retry-After`` or ``X-RateLimit-Reset``)
* to match against the response. Headers are tried in order, and matched case
* insensitive. The first header to be parsed successfully is used. If no headers
* match the default exponential back-off is used instead.
*
* Specifies the reset headers (like ``Retry-After`` or ``X-RateLimit-Reset``)
* to match against the response. Headers are tried in order, and matched case
* insensitive. The first header to be parsed successfully is used. If no headers
* match the default exponential back-off is used instead.
*
* Specifies the reset headers (like ``Retry-After`` or ``X-RateLimit-Reset``)
* to match against the response. Headers are tried in order, and matched case
* insensitive. The first header to be parsed successfully is used. If no headers
* match the default exponential back-off is used instead.
*
* Specifies the reset headers (like ``Retry-After`` or ``X-RateLimit-Reset``)
* to match against the response. Headers are tried in order, and matched case
* insensitive. The first header to be parsed successfully is used. If no headers
* match the default exponential back-off is used instead.
*
*
* repeated .envoy.config.route.v3.RetryPolicy.ResetHeader reset_headers = 1 [(.validate.rules) = { ... }
*/
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeaderOrBuilder getResetHeadersOrBuilder(
int index) {
return resetHeaders_.get(index);
}
public static final int MAX_INTERVAL_FIELD_NUMBER = 2;
private com.google.protobuf.Duration maxInterval_;
/**
*
* Specifies the maximum back off interval that Envoy will allow. If a reset
* header contains an interval longer than this then it will be discarded and
* the next header will be tried. Defaults to 300 seconds.
*
*
* .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... }
* @return Whether the maxInterval field is set.
*/
@java.lang.Override
public boolean hasMaxInterval() {
return maxInterval_ != null;
}
/**
*
* Specifies the maximum back off interval that Envoy will allow. If a reset
* header contains an interval longer than this then it will be discarded and
* the next header will be tried. Defaults to 300 seconds.
*
* Specifies the maximum back off interval that Envoy will allow. If a reset
* header contains an interval longer than this then it will be discarded and
* the next header will be tried. Defaults to 300 seconds.
*
*
* .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... }
*/
@java.lang.Override
public com.google.protobuf.DurationOrBuilder getMaxIntervalOrBuilder() {
return getMaxInterval();
}
private byte memoizedIsInitialized = -1;
@java.lang.Override
public final boolean isInitialized() {
byte isInitialized = memoizedIsInitialized;
if (isInitialized == 1) return true;
if (isInitialized == 0) return false;
memoizedIsInitialized = 1;
return true;
}
@java.lang.Override
public void writeTo(com.google.protobuf.CodedOutputStream output)
throws java.io.IOException {
for (int i = 0; i < resetHeaders_.size(); i++) {
output.writeMessage(1, resetHeaders_.get(i));
}
if (maxInterval_ != null) {
output.writeMessage(2, getMaxInterval());
}
unknownFields.writeTo(output);
}
@java.lang.Override
public int getSerializedSize() {
int size = memoizedSize;
if (size != -1) return size;
size = 0;
for (int i = 0; i < resetHeaders_.size(); i++) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(1, resetHeaders_.get(i));
}
if (maxInterval_ != null) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(2, getMaxInterval());
}
size += unknownFields.getSerializedSize();
memoizedSize = size;
return size;
}
@java.lang.Override
public boolean equals(final java.lang.Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff)) {
return super.equals(obj);
}
io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff other = (io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff) obj;
if (!getResetHeadersList()
.equals(other.getResetHeadersList())) return false;
if (hasMaxInterval() != other.hasMaxInterval()) return false;
if (hasMaxInterval()) {
if (!getMaxInterval()
.equals(other.getMaxInterval())) return false;
}
if (!unknownFields.equals(other.unknownFields)) return false;
return true;
}
@java.lang.Override
public int hashCode() {
if (memoizedHashCode != 0) {
return memoizedHashCode;
}
int hash = 41;
hash = (19 * hash) + getDescriptor().hashCode();
if (getResetHeadersCount() > 0) {
hash = (37 * hash) + RESET_HEADERS_FIELD_NUMBER;
hash = (53 * hash) + getResetHeadersList().hashCode();
}
if (hasMaxInterval()) {
hash = (37 * hash) + MAX_INTERVAL_FIELD_NUMBER;
hash = (53 * hash) + getMaxInterval().hashCode();
}
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
return hash;
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff parseFrom(
java.nio.ByteBuffer data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff parseFrom(
java.nio.ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff parseFrom(
com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff parseFrom(
byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff parseFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff parseFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff parseDelimitedFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseDelimitedWithIOException(PARSER, input);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff parseDelimitedFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseDelimitedWithIOException(PARSER, input, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff parseFrom(
com.google.protobuf.CodedInputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff parseFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input, extensionRegistry);
}
@java.lang.Override
public Builder newBuilderForType() { return newBuilder(); }
public static Builder newBuilder() {
return DEFAULT_INSTANCE.toBuilder();
}
public static Builder newBuilder(io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff prototype) {
return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
}
@java.lang.Override
public Builder toBuilder() {
return this == DEFAULT_INSTANCE
? new Builder() : new Builder().mergeFrom(this);
}
@java.lang.Override
protected Builder newBuilderForType(
com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
Builder builder = new Builder(parent);
return builder;
}
/**
*
* A retry back-off strategy that applies when the upstream server rate limits
* the request.
* Given this configuration:
* .. code-block:: yaml
* rate_limited_retry_back_off:
* reset_headers:
* - name: Retry-After
* format: SECONDS
* - name: X-RateLimit-Reset
* format: UNIX_TIMESTAMP
* max_interval: "300s"
* The following algorithm will apply:
* 1. If the response contains the header ``Retry-After`` its value must be on
* the form ``120`` (an integer that represents the number of seconds to
* wait before retrying). If so, this value is used as the back-off interval.
* 2. Otherwise, if the response contains the header ``X-RateLimit-Reset`` its
* value must be on the form ``1595320702`` (an integer that represents the
* point in time at which to retry, as a Unix timestamp in seconds). If so,
* the current time is subtracted from this value and the result is used as
* the back-off interval.
* 3. Otherwise, Envoy will use the default
* :ref:`exponential back-off <envoy_v3_api_field_config.route.v3.RetryPolicy.retry_back_off>`
* strategy.
* No matter which format is used, if the resulting back-off interval exceeds
* ``max_interval`` it is discarded and the next header in ``reset_headers``
* is tried. If a request timeout is configured for the route it will further
* limit how long the request will be allowed to run.
* To prevent many clients retrying at the same point in time jitter is added
* to the back-off interval, so the resulting interval is decided by taking:
* ``random(interval, interval * 1.5)``.
* .. attention::
* Configuring ``rate_limited_retry_back_off`` will not by itself cause a request
* to be retried. You will still need to configure the right retry policy to match
* the responses from the upstream server.
*
* Specifies the reset headers (like ``Retry-After`` or ``X-RateLimit-Reset``)
* to match against the response. Headers are tried in order, and matched case
* insensitive. The first header to be parsed successfully is used. If no headers
* match the default exponential back-off is used instead.
*
* Specifies the reset headers (like ``Retry-After`` or ``X-RateLimit-Reset``)
* to match against the response. Headers are tried in order, and matched case
* insensitive. The first header to be parsed successfully is used. If no headers
* match the default exponential back-off is used instead.
*
* Specifies the reset headers (like ``Retry-After`` or ``X-RateLimit-Reset``)
* to match against the response. Headers are tried in order, and matched case
* insensitive. The first header to be parsed successfully is used. If no headers
* match the default exponential back-off is used instead.
*
* Specifies the reset headers (like ``Retry-After`` or ``X-RateLimit-Reset``)
* to match against the response. Headers are tried in order, and matched case
* insensitive. The first header to be parsed successfully is used. If no headers
* match the default exponential back-off is used instead.
*
*
* repeated .envoy.config.route.v3.RetryPolicy.ResetHeader reset_headers = 1 [(.validate.rules) = { ... }
*/
public Builder setResetHeaders(
int index, io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader value) {
if (resetHeadersBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureResetHeadersIsMutable();
resetHeaders_.set(index, value);
onChanged();
} else {
resetHeadersBuilder_.setMessage(index, value);
}
return this;
}
/**
*
* Specifies the reset headers (like ``Retry-After`` or ``X-RateLimit-Reset``)
* to match against the response. Headers are tried in order, and matched case
* insensitive. The first header to be parsed successfully is used. If no headers
* match the default exponential back-off is used instead.
*
* Specifies the reset headers (like ``Retry-After`` or ``X-RateLimit-Reset``)
* to match against the response. Headers are tried in order, and matched case
* insensitive. The first header to be parsed successfully is used. If no headers
* match the default exponential back-off is used instead.
*
* Specifies the reset headers (like ``Retry-After`` or ``X-RateLimit-Reset``)
* to match against the response. Headers are tried in order, and matched case
* insensitive. The first header to be parsed successfully is used. If no headers
* match the default exponential back-off is used instead.
*
*
* repeated .envoy.config.route.v3.RetryPolicy.ResetHeader reset_headers = 1 [(.validate.rules) = { ... }
*/
public Builder addResetHeaders(
int index, io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader value) {
if (resetHeadersBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureResetHeadersIsMutable();
resetHeaders_.add(index, value);
onChanged();
} else {
resetHeadersBuilder_.addMessage(index, value);
}
return this;
}
/**
*
* Specifies the reset headers (like ``Retry-After`` or ``X-RateLimit-Reset``)
* to match against the response. Headers are tried in order, and matched case
* insensitive. The first header to be parsed successfully is used. If no headers
* match the default exponential back-off is used instead.
*
* Specifies the reset headers (like ``Retry-After`` or ``X-RateLimit-Reset``)
* to match against the response. Headers are tried in order, and matched case
* insensitive. The first header to be parsed successfully is used. If no headers
* match the default exponential back-off is used instead.
*
* Specifies the reset headers (like ``Retry-After`` or ``X-RateLimit-Reset``)
* to match against the response. Headers are tried in order, and matched case
* insensitive. The first header to be parsed successfully is used. If no headers
* match the default exponential back-off is used instead.
*
* Specifies the reset headers (like ``Retry-After`` or ``X-RateLimit-Reset``)
* to match against the response. Headers are tried in order, and matched case
* insensitive. The first header to be parsed successfully is used. If no headers
* match the default exponential back-off is used instead.
*
* Specifies the reset headers (like ``Retry-After`` or ``X-RateLimit-Reset``)
* to match against the response. Headers are tried in order, and matched case
* insensitive. The first header to be parsed successfully is used. If no headers
* match the default exponential back-off is used instead.
*
* Specifies the reset headers (like ``Retry-After`` or ``X-RateLimit-Reset``)
* to match against the response. Headers are tried in order, and matched case
* insensitive. The first header to be parsed successfully is used. If no headers
* match the default exponential back-off is used instead.
*
* Specifies the reset headers (like ``Retry-After`` or ``X-RateLimit-Reset``)
* to match against the response. Headers are tried in order, and matched case
* insensitive. The first header to be parsed successfully is used. If no headers
* match the default exponential back-off is used instead.
*
* Specifies the reset headers (like ``Retry-After`` or ``X-RateLimit-Reset``)
* to match against the response. Headers are tried in order, and matched case
* insensitive. The first header to be parsed successfully is used. If no headers
* match the default exponential back-off is used instead.
*
* Specifies the reset headers (like ``Retry-After`` or ``X-RateLimit-Reset``)
* to match against the response. Headers are tried in order, and matched case
* insensitive. The first header to be parsed successfully is used. If no headers
* match the default exponential back-off is used instead.
*
* Specifies the reset headers (like ``Retry-After`` or ``X-RateLimit-Reset``)
* to match against the response. Headers are tried in order, and matched case
* insensitive. The first header to be parsed successfully is used. If no headers
* match the default exponential back-off is used instead.
*
* Specifies the reset headers (like ``Retry-After`` or ``X-RateLimit-Reset``)
* to match against the response. Headers are tried in order, and matched case
* insensitive. The first header to be parsed successfully is used. If no headers
* match the default exponential back-off is used instead.
*
* Specifies the maximum back off interval that Envoy will allow. If a reset
* header contains an interval longer than this then it will be discarded and
* the next header will be tried. Defaults to 300 seconds.
*
*
* .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... }
* @return Whether the maxInterval field is set.
*/
public boolean hasMaxInterval() {
return maxIntervalBuilder_ != null || maxInterval_ != null;
}
/**
*
* Specifies the maximum back off interval that Envoy will allow. If a reset
* header contains an interval longer than this then it will be discarded and
* the next header will be tried. Defaults to 300 seconds.
*
* Specifies the maximum back off interval that Envoy will allow. If a reset
* header contains an interval longer than this then it will be discarded and
* the next header will be tried. Defaults to 300 seconds.
*
* Specifies the maximum back off interval that Envoy will allow. If a reset
* header contains an interval longer than this then it will be discarded and
* the next header will be tried. Defaults to 300 seconds.
*
* Specifies the maximum back off interval that Envoy will allow. If a reset
* header contains an interval longer than this then it will be discarded and
* the next header will be tried. Defaults to 300 seconds.
*
* Specifies the maximum back off interval that Envoy will allow. If a reset
* header contains an interval longer than this then it will be discarded and
* the next header will be tried. Defaults to 300 seconds.
*
* Specifies the maximum back off interval that Envoy will allow. If a reset
* header contains an interval longer than this then it will be discarded and
* the next header will be tried. Defaults to 300 seconds.
*
* Specifies the maximum back off interval that Envoy will allow. If a reset
* header contains an interval longer than this then it will be discarded and
* the next header will be tried. Defaults to 300 seconds.
*
* Specifies the maximum back off interval that Envoy will allow. If a reset
* header contains an interval longer than this then it will be discarded and
* the next header will be tried. Defaults to 300 seconds.
*
*
* .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... }
*/
private com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
getMaxIntervalFieldBuilder() {
if (maxIntervalBuilder_ == null) {
maxIntervalBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
getMaxInterval(),
getParentForChildren(),
isClean());
maxInterval_ = null;
}
return maxIntervalBuilder_;
}
@java.lang.Override
public final Builder setUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
}
@java.lang.Override
public final Builder mergeUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.mergeUnknownFields(unknownFields);
}
// @@protoc_insertion_point(builder_scope:envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff)
}
// @@protoc_insertion_point(class_scope:envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff)
private static final io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff DEFAULT_INSTANCE;
static {
DEFAULT_INSTANCE = new io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff();
}
public static io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff getDefaultInstance() {
return DEFAULT_INSTANCE;
}
private static final com.google.protobuf.Parser
PARSER = new com.google.protobuf.AbstractParser() {
@java.lang.Override
public RateLimitedRetryBackOff parsePartialFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return new RateLimitedRetryBackOff(input, extensionRegistry);
}
};
public static com.google.protobuf.Parser parser() {
return PARSER;
}
@java.lang.Override
public com.google.protobuf.Parser getParserForType() {
return PARSER;
}
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff getDefaultInstanceForType() {
return DEFAULT_INSTANCE;
}
}
public static final int RETRY_ON_FIELD_NUMBER = 1;
private volatile java.lang.Object retryOn_;
/**
*
* Specifies the conditions under which retry takes place. These are the same
* conditions documented for :ref:`config_http_filters_router_x-envoy-retry-on` and
* :ref:`config_http_filters_router_x-envoy-retry-grpc-on`.
*
* Specifies the conditions under which retry takes place. These are the same
* conditions documented for :ref:`config_http_filters_router_x-envoy-retry-on` and
* :ref:`config_http_filters_router_x-envoy-retry-grpc-on`.
*
*
* string retry_on = 1;
* @return The bytes for retryOn.
*/
@java.lang.Override
public com.google.protobuf.ByteString
getRetryOnBytes() {
java.lang.Object ref = retryOn_;
if (ref instanceof java.lang.String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
retryOn_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
public static final int NUM_RETRIES_FIELD_NUMBER = 2;
private com.google.protobuf.UInt32Value numRetries_;
/**
*
* Specifies the allowed number of retries. This parameter is optional and
* defaults to 1. These are the same conditions documented for
* :ref:`config_http_filters_router_x-envoy-max-retries`.
*
*
* .google.protobuf.UInt32Value num_retries = 2 [(.udpa.annotations.field_migrate) = { ... }
* @return Whether the numRetries field is set.
*/
@java.lang.Override
public boolean hasNumRetries() {
return numRetries_ != null;
}
/**
*
* Specifies the allowed number of retries. This parameter is optional and
* defaults to 1. These are the same conditions documented for
* :ref:`config_http_filters_router_x-envoy-max-retries`.
*
* Specifies the allowed number of retries. This parameter is optional and
* defaults to 1. These are the same conditions documented for
* :ref:`config_http_filters_router_x-envoy-max-retries`.
*
*
* .google.protobuf.UInt32Value num_retries = 2 [(.udpa.annotations.field_migrate) = { ... }
*/
@java.lang.Override
public com.google.protobuf.UInt32ValueOrBuilder getNumRetriesOrBuilder() {
return getNumRetries();
}
public static final int PER_TRY_TIMEOUT_FIELD_NUMBER = 3;
private com.google.protobuf.Duration perTryTimeout_;
/**
*
* Specifies a non-zero upstream timeout per retry attempt (including the initial attempt). This
* parameter is optional. The same conditions documented for
* :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms` apply.
* .. note::
* If left unspecified, Envoy will use the global
* :ref:`route timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` for the request.
* Consequently, when using a :ref:`5xx <config_http_filters_router_x-envoy-retry-on>` based
* retry policy, a request that times out will not be retried as the total timeout budget
* would have been exhausted.
*
*
* .google.protobuf.Duration per_try_timeout = 3;
* @return Whether the perTryTimeout field is set.
*/
@java.lang.Override
public boolean hasPerTryTimeout() {
return perTryTimeout_ != null;
}
/**
*
* Specifies a non-zero upstream timeout per retry attempt (including the initial attempt). This
* parameter is optional. The same conditions documented for
* :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms` apply.
* .. note::
* If left unspecified, Envoy will use the global
* :ref:`route timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` for the request.
* Consequently, when using a :ref:`5xx <config_http_filters_router_x-envoy-retry-on>` based
* retry policy, a request that times out will not be retried as the total timeout budget
* would have been exhausted.
*
* Specifies a non-zero upstream timeout per retry attempt (including the initial attempt). This
* parameter is optional. The same conditions documented for
* :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms` apply.
* .. note::
* If left unspecified, Envoy will use the global
* :ref:`route timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` for the request.
* Consequently, when using a :ref:`5xx <config_http_filters_router_x-envoy-retry-on>` based
* retry policy, a request that times out will not be retried as the total timeout budget
* would have been exhausted.
*
*
* .google.protobuf.Duration per_try_timeout = 3;
*/
@java.lang.Override
public com.google.protobuf.DurationOrBuilder getPerTryTimeoutOrBuilder() {
return getPerTryTimeout();
}
public static final int PER_TRY_IDLE_TIMEOUT_FIELD_NUMBER = 13;
private com.google.protobuf.Duration perTryIdleTimeout_;
/**
*
* Specifies an upstream idle timeout per retry attempt (including the initial attempt). This
* parameter is optional and if absent there is no per try idle timeout. The semantics of the per
* try idle timeout are similar to the
* :ref:`route idle timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` and
* :ref:`stream idle timeout
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_idle_timeout>`
* both enforced by the HTTP connection manager. The difference is that this idle timeout
* is enforced by the router for each individual attempt and thus after all previous filters have
* run, as opposed to *before* all previous filters run for the other idle timeouts. This timeout
* is useful in cases in which total request timeout is bounded by a number of retries and a
* :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`, but
* there is a desire to ensure each try is making incremental progress. Note also that similar
* to :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
* this idle timeout does not start until after both the entire request has been received by the
* router *and* a connection pool connection has been obtained. Unlike
* :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
* the idle timer continues once the response starts streaming back to the downstream client.
* This ensures that response data continues to make progress without using one of the HTTP
* connection manager idle timeouts.
*
*
* .google.protobuf.Duration per_try_idle_timeout = 13;
* @return Whether the perTryIdleTimeout field is set.
*/
@java.lang.Override
public boolean hasPerTryIdleTimeout() {
return perTryIdleTimeout_ != null;
}
/**
*
* Specifies an upstream idle timeout per retry attempt (including the initial attempt). This
* parameter is optional and if absent there is no per try idle timeout. The semantics of the per
* try idle timeout are similar to the
* :ref:`route idle timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` and
* :ref:`stream idle timeout
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_idle_timeout>`
* both enforced by the HTTP connection manager. The difference is that this idle timeout
* is enforced by the router for each individual attempt and thus after all previous filters have
* run, as opposed to *before* all previous filters run for the other idle timeouts. This timeout
* is useful in cases in which total request timeout is bounded by a number of retries and a
* :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`, but
* there is a desire to ensure each try is making incremental progress. Note also that similar
* to :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
* this idle timeout does not start until after both the entire request has been received by the
* router *and* a connection pool connection has been obtained. Unlike
* :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
* the idle timer continues once the response starts streaming back to the downstream client.
* This ensures that response data continues to make progress without using one of the HTTP
* connection manager idle timeouts.
*
* Specifies an upstream idle timeout per retry attempt (including the initial attempt). This
* parameter is optional and if absent there is no per try idle timeout. The semantics of the per
* try idle timeout are similar to the
* :ref:`route idle timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` and
* :ref:`stream idle timeout
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_idle_timeout>`
* both enforced by the HTTP connection manager. The difference is that this idle timeout
* is enforced by the router for each individual attempt and thus after all previous filters have
* run, as opposed to *before* all previous filters run for the other idle timeouts. This timeout
* is useful in cases in which total request timeout is bounded by a number of retries and a
* :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`, but
* there is a desire to ensure each try is making incremental progress. Note also that similar
* to :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
* this idle timeout does not start until after both the entire request has been received by the
* router *and* a connection pool connection has been obtained. Unlike
* :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
* the idle timer continues once the response starts streaming back to the downstream client.
* This ensures that response data continues to make progress without using one of the HTTP
* connection manager idle timeouts.
*
*
* .google.protobuf.Duration per_try_idle_timeout = 13;
*/
@java.lang.Override
public com.google.protobuf.DurationOrBuilder getPerTryIdleTimeoutOrBuilder() {
return getPerTryIdleTimeout();
}
public static final int RETRY_PRIORITY_FIELD_NUMBER = 4;
private io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority retryPriority_;
/**
*
* Specifies an implementation of a RetryPriority which is used to determine the
* distribution of load across priorities used for retries. Refer to
* :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more details.
*
*
* .envoy.config.route.v3.RetryPolicy.RetryPriority retry_priority = 4;
* @return Whether the retryPriority field is set.
*/
@java.lang.Override
public boolean hasRetryPriority() {
return retryPriority_ != null;
}
/**
*
* Specifies an implementation of a RetryPriority which is used to determine the
* distribution of load across priorities used for retries. Refer to
* :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more details.
*
* Specifies an implementation of a RetryPriority which is used to determine the
* distribution of load across priorities used for retries. Refer to
* :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more details.
*
*
* .envoy.config.route.v3.RetryPolicy.RetryPriority retry_priority = 4;
*/
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriorityOrBuilder getRetryPriorityOrBuilder() {
return getRetryPriority();
}
public static final int RETRY_HOST_PREDICATE_FIELD_NUMBER = 5;
private java.util.List retryHostPredicate_;
/**
*
* Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
* for retries. If any of the predicates reject the host, host selection will be reattempted.
* Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
* details.
*
* Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
* for retries. If any of the predicates reject the host, host selection will be reattempted.
* Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
* details.
*
* Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
* for retries. If any of the predicates reject the host, host selection will be reattempted.
* Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
* details.
*
*
* repeated .envoy.config.route.v3.RetryPolicy.RetryHostPredicate retry_host_predicate = 5;
*/
@java.lang.Override
public int getRetryHostPredicateCount() {
return retryHostPredicate_.size();
}
/**
*
* Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
* for retries. If any of the predicates reject the host, host selection will be reattempted.
* Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
* details.
*
* Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
* for retries. If any of the predicates reject the host, host selection will be reattempted.
* Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
* details.
*
*
* repeated .envoy.config.route.v3.RetryPolicy.RetryHostPredicate retry_host_predicate = 5;
*/
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicateOrBuilder getRetryHostPredicateOrBuilder(
int index) {
return retryHostPredicate_.get(index);
}
public static final int RETRY_OPTIONS_PREDICATES_FIELD_NUMBER = 12;
private java.util.List retryOptionsPredicates_;
/**
*
* Retry options predicates that will be applied prior to retrying a request. These predicates
* allow customizing request behavior between retries.
* [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions]
*
* Retry options predicates that will be applied prior to retrying a request. These predicates
* allow customizing request behavior between retries.
* [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions]
*
* Retry options predicates that will be applied prior to retrying a request. These predicates
* allow customizing request behavior between retries.
* [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions]
*
*
* repeated .envoy.config.core.v3.TypedExtensionConfig retry_options_predicates = 12;
*/
@java.lang.Override
public int getRetryOptionsPredicatesCount() {
return retryOptionsPredicates_.size();
}
/**
*
* Retry options predicates that will be applied prior to retrying a request. These predicates
* allow customizing request behavior between retries.
* [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions]
*
* Retry options predicates that will be applied prior to retrying a request. These predicates
* allow customizing request behavior between retries.
* [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions]
*
*
* repeated .envoy.config.core.v3.TypedExtensionConfig retry_options_predicates = 12;
*/
@java.lang.Override
public io.envoyproxy.envoy.config.core.v3.TypedExtensionConfigOrBuilder getRetryOptionsPredicatesOrBuilder(
int index) {
return retryOptionsPredicates_.get(index);
}
public static final int HOST_SELECTION_RETRY_MAX_ATTEMPTS_FIELD_NUMBER = 6;
private long hostSelectionRetryMaxAttempts_;
/**
*
* The maximum number of times host selection will be reattempted before giving up, at which
* point the host that was last selected will be routed to. If unspecified, this will default to
* retrying once.
*
*
* int64 host_selection_retry_max_attempts = 6;
* @return The hostSelectionRetryMaxAttempts.
*/
@java.lang.Override
public long getHostSelectionRetryMaxAttempts() {
return hostSelectionRetryMaxAttempts_;
}
public static final int RETRIABLE_STATUS_CODES_FIELD_NUMBER = 7;
private com.google.protobuf.Internal.IntList retriableStatusCodes_;
/**
*
* HTTP status codes that should trigger a retry in addition to those specified by retry_on.
*
*
* repeated uint32 retriable_status_codes = 7;
* @return A list containing the retriableStatusCodes.
*/
@java.lang.Override
public java.util.List
getRetriableStatusCodesList() {
return retriableStatusCodes_;
}
/**
*
* HTTP status codes that should trigger a retry in addition to those specified by retry_on.
*
*
* repeated uint32 retriable_status_codes = 7;
* @return The count of retriableStatusCodes.
*/
public int getRetriableStatusCodesCount() {
return retriableStatusCodes_.size();
}
/**
*
* HTTP status codes that should trigger a retry in addition to those specified by retry_on.
*
*
* repeated uint32 retriable_status_codes = 7;
* @param index The index of the element to return.
* @return The retriableStatusCodes at the given index.
*/
public int getRetriableStatusCodes(int index) {
return retriableStatusCodes_.getInt(index);
}
private int retriableStatusCodesMemoizedSerializedSize = -1;
public static final int RETRY_BACK_OFF_FIELD_NUMBER = 8;
private io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff retryBackOff_;
/**
*
* Specifies parameters that control exponential retry back off. This parameter is optional, in which case the
* default base interval is 25 milliseconds or, if set, the current value of the
* ``upstream.base_retry_backoff_ms`` runtime parameter. The default maximum interval is 10 times
* the base interval. The documentation for :ref:`config_http_filters_router_x-envoy-max-retries`
* describes Envoy's back-off algorithm.
*
*
* .envoy.config.route.v3.RetryPolicy.RetryBackOff retry_back_off = 8;
* @return Whether the retryBackOff field is set.
*/
@java.lang.Override
public boolean hasRetryBackOff() {
return retryBackOff_ != null;
}
/**
*
* Specifies parameters that control exponential retry back off. This parameter is optional, in which case the
* default base interval is 25 milliseconds or, if set, the current value of the
* ``upstream.base_retry_backoff_ms`` runtime parameter. The default maximum interval is 10 times
* the base interval. The documentation for :ref:`config_http_filters_router_x-envoy-max-retries`
* describes Envoy's back-off algorithm.
*
* Specifies parameters that control exponential retry back off. This parameter is optional, in which case the
* default base interval is 25 milliseconds or, if set, the current value of the
* ``upstream.base_retry_backoff_ms`` runtime parameter. The default maximum interval is 10 times
* the base interval. The documentation for :ref:`config_http_filters_router_x-envoy-max-retries`
* describes Envoy's back-off algorithm.
*
*
* .envoy.config.route.v3.RetryPolicy.RetryBackOff retry_back_off = 8;
*/
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOffOrBuilder getRetryBackOffOrBuilder() {
return getRetryBackOff();
}
public static final int RATE_LIMITED_RETRY_BACK_OFF_FIELD_NUMBER = 11;
private io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff rateLimitedRetryBackOff_;
/**
*
* Specifies parameters that control a retry back-off strategy that is used
* when the request is rate limited by the upstream server. The server may
* return a response header like ``Retry-After`` or ``X-RateLimit-Reset`` to
* provide feedback to the client on how long to wait before retrying. If
* configured, this back-off strategy will be used instead of the
* default exponential back off strategy (configured using ``retry_back_off``)
* whenever a response includes the matching headers.
*
*
* .envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff rate_limited_retry_back_off = 11;
* @return Whether the rateLimitedRetryBackOff field is set.
*/
@java.lang.Override
public boolean hasRateLimitedRetryBackOff() {
return rateLimitedRetryBackOff_ != null;
}
/**
*
* Specifies parameters that control a retry back-off strategy that is used
* when the request is rate limited by the upstream server. The server may
* return a response header like ``Retry-After`` or ``X-RateLimit-Reset`` to
* provide feedback to the client on how long to wait before retrying. If
* configured, this back-off strategy will be used instead of the
* default exponential back off strategy (configured using ``retry_back_off``)
* whenever a response includes the matching headers.
*
* Specifies parameters that control a retry back-off strategy that is used
* when the request is rate limited by the upstream server. The server may
* return a response header like ``Retry-After`` or ``X-RateLimit-Reset`` to
* provide feedback to the client on how long to wait before retrying. If
* configured, this back-off strategy will be used instead of the
* default exponential back off strategy (configured using ``retry_back_off``)
* whenever a response includes the matching headers.
*
*
* .envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff rate_limited_retry_back_off = 11;
*/
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOffOrBuilder getRateLimitedRetryBackOffOrBuilder() {
return getRateLimitedRetryBackOff();
}
public static final int RETRIABLE_HEADERS_FIELD_NUMBER = 9;
private java.util.List retriableHeaders_;
/**
*
* HTTP response headers that trigger a retry if present in the response. A retry will be
* triggered if any of the header matches match the upstream response headers.
* The field is only consulted if 'retriable-headers' retry policy is active.
*
* HTTP response headers that trigger a retry if present in the response. A retry will be
* triggered if any of the header matches match the upstream response headers.
* The field is only consulted if 'retriable-headers' retry policy is active.
*
* HTTP response headers that trigger a retry if present in the response. A retry will be
* triggered if any of the header matches match the upstream response headers.
* The field is only consulted if 'retriable-headers' retry policy is active.
*
*
* repeated .envoy.config.route.v3.HeaderMatcher retriable_headers = 9;
*/
@java.lang.Override
public int getRetriableHeadersCount() {
return retriableHeaders_.size();
}
/**
*
* HTTP response headers that trigger a retry if present in the response. A retry will be
* triggered if any of the header matches match the upstream response headers.
* The field is only consulted if 'retriable-headers' retry policy is active.
*
* HTTP response headers that trigger a retry if present in the response. A retry will be
* triggered if any of the header matches match the upstream response headers.
* The field is only consulted if 'retriable-headers' retry policy is active.
*
*
* repeated .envoy.config.route.v3.HeaderMatcher retriable_headers = 9;
*/
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.HeaderMatcherOrBuilder getRetriableHeadersOrBuilder(
int index) {
return retriableHeaders_.get(index);
}
public static final int RETRIABLE_REQUEST_HEADERS_FIELD_NUMBER = 10;
private java.util.List retriableRequestHeaders_;
/**
*
* HTTP headers which must be present in the request for retries to be attempted.
*
* Specifies the conditions under which retry takes place. These are the same
* conditions documented for :ref:`config_http_filters_router_x-envoy-retry-on` and
* :ref:`config_http_filters_router_x-envoy-retry-grpc-on`.
*
* Specifies the conditions under which retry takes place. These are the same
* conditions documented for :ref:`config_http_filters_router_x-envoy-retry-on` and
* :ref:`config_http_filters_router_x-envoy-retry-grpc-on`.
*
*
* string retry_on = 1;
* @return The bytes for retryOn.
*/
public com.google.protobuf.ByteString
getRetryOnBytes() {
java.lang.Object ref = retryOn_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
retryOn_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
/**
*
* Specifies the conditions under which retry takes place. These are the same
* conditions documented for :ref:`config_http_filters_router_x-envoy-retry-on` and
* :ref:`config_http_filters_router_x-envoy-retry-grpc-on`.
*
*
* string retry_on = 1;
* @param value The retryOn to set.
* @return This builder for chaining.
*/
public Builder setRetryOn(
java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
retryOn_ = value;
onChanged();
return this;
}
/**
*
* Specifies the conditions under which retry takes place. These are the same
* conditions documented for :ref:`config_http_filters_router_x-envoy-retry-on` and
* :ref:`config_http_filters_router_x-envoy-retry-grpc-on`.
*
*
* string retry_on = 1;
* @return This builder for chaining.
*/
public Builder clearRetryOn() {
retryOn_ = getDefaultInstance().getRetryOn();
onChanged();
return this;
}
/**
*
* Specifies the conditions under which retry takes place. These are the same
* conditions documented for :ref:`config_http_filters_router_x-envoy-retry-on` and
* :ref:`config_http_filters_router_x-envoy-retry-grpc-on`.
*
*
* string retry_on = 1;
* @param value The bytes for retryOn to set.
* @return This builder for chaining.
*/
public Builder setRetryOnBytes(
com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
retryOn_ = value;
onChanged();
return this;
}
private com.google.protobuf.UInt32Value numRetries_;
private com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> numRetriesBuilder_;
/**
*
* Specifies the allowed number of retries. This parameter is optional and
* defaults to 1. These are the same conditions documented for
* :ref:`config_http_filters_router_x-envoy-max-retries`.
*
*
* .google.protobuf.UInt32Value num_retries = 2 [(.udpa.annotations.field_migrate) = { ... }
* @return Whether the numRetries field is set.
*/
public boolean hasNumRetries() {
return numRetriesBuilder_ != null || numRetries_ != null;
}
/**
*
* Specifies the allowed number of retries. This parameter is optional and
* defaults to 1. These are the same conditions documented for
* :ref:`config_http_filters_router_x-envoy-max-retries`.
*
* Specifies the allowed number of retries. This parameter is optional and
* defaults to 1. These are the same conditions documented for
* :ref:`config_http_filters_router_x-envoy-max-retries`.
*
* Specifies the allowed number of retries. This parameter is optional and
* defaults to 1. These are the same conditions documented for
* :ref:`config_http_filters_router_x-envoy-max-retries`.
*
* Specifies the allowed number of retries. This parameter is optional and
* defaults to 1. These are the same conditions documented for
* :ref:`config_http_filters_router_x-envoy-max-retries`.
*
* Specifies the allowed number of retries. This parameter is optional and
* defaults to 1. These are the same conditions documented for
* :ref:`config_http_filters_router_x-envoy-max-retries`.
*
* Specifies the allowed number of retries. This parameter is optional and
* defaults to 1. These are the same conditions documented for
* :ref:`config_http_filters_router_x-envoy-max-retries`.
*
* Specifies the allowed number of retries. This parameter is optional and
* defaults to 1. These are the same conditions documented for
* :ref:`config_http_filters_router_x-envoy-max-retries`.
*
* Specifies the allowed number of retries. This parameter is optional and
* defaults to 1. These are the same conditions documented for
* :ref:`config_http_filters_router_x-envoy-max-retries`.
*
* Specifies a non-zero upstream timeout per retry attempt (including the initial attempt). This
* parameter is optional. The same conditions documented for
* :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms` apply.
* .. note::
* If left unspecified, Envoy will use the global
* :ref:`route timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` for the request.
* Consequently, when using a :ref:`5xx <config_http_filters_router_x-envoy-retry-on>` based
* retry policy, a request that times out will not be retried as the total timeout budget
* would have been exhausted.
*
*
* .google.protobuf.Duration per_try_timeout = 3;
* @return Whether the perTryTimeout field is set.
*/
public boolean hasPerTryTimeout() {
return perTryTimeoutBuilder_ != null || perTryTimeout_ != null;
}
/**
*
* Specifies a non-zero upstream timeout per retry attempt (including the initial attempt). This
* parameter is optional. The same conditions documented for
* :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms` apply.
* .. note::
* If left unspecified, Envoy will use the global
* :ref:`route timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` for the request.
* Consequently, when using a :ref:`5xx <config_http_filters_router_x-envoy-retry-on>` based
* retry policy, a request that times out will not be retried as the total timeout budget
* would have been exhausted.
*
* Specifies a non-zero upstream timeout per retry attempt (including the initial attempt). This
* parameter is optional. The same conditions documented for
* :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms` apply.
* .. note::
* If left unspecified, Envoy will use the global
* :ref:`route timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` for the request.
* Consequently, when using a :ref:`5xx <config_http_filters_router_x-envoy-retry-on>` based
* retry policy, a request that times out will not be retried as the total timeout budget
* would have been exhausted.
*
*
* .google.protobuf.Duration per_try_timeout = 3;
*/
public Builder setPerTryTimeout(com.google.protobuf.Duration value) {
if (perTryTimeoutBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
perTryTimeout_ = value;
onChanged();
} else {
perTryTimeoutBuilder_.setMessage(value);
}
return this;
}
/**
*
* Specifies a non-zero upstream timeout per retry attempt (including the initial attempt). This
* parameter is optional. The same conditions documented for
* :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms` apply.
* .. note::
* If left unspecified, Envoy will use the global
* :ref:`route timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` for the request.
* Consequently, when using a :ref:`5xx <config_http_filters_router_x-envoy-retry-on>` based
* retry policy, a request that times out will not be retried as the total timeout budget
* would have been exhausted.
*
* Specifies a non-zero upstream timeout per retry attempt (including the initial attempt). This
* parameter is optional. The same conditions documented for
* :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms` apply.
* .. note::
* If left unspecified, Envoy will use the global
* :ref:`route timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` for the request.
* Consequently, when using a :ref:`5xx <config_http_filters_router_x-envoy-retry-on>` based
* retry policy, a request that times out will not be retried as the total timeout budget
* would have been exhausted.
*
* Specifies a non-zero upstream timeout per retry attempt (including the initial attempt). This
* parameter is optional. The same conditions documented for
* :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms` apply.
* .. note::
* If left unspecified, Envoy will use the global
* :ref:`route timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` for the request.
* Consequently, when using a :ref:`5xx <config_http_filters_router_x-envoy-retry-on>` based
* retry policy, a request that times out will not be retried as the total timeout budget
* would have been exhausted.
*
* Specifies a non-zero upstream timeout per retry attempt (including the initial attempt). This
* parameter is optional. The same conditions documented for
* :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms` apply.
* .. note::
* If left unspecified, Envoy will use the global
* :ref:`route timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` for the request.
* Consequently, when using a :ref:`5xx <config_http_filters_router_x-envoy-retry-on>` based
* retry policy, a request that times out will not be retried as the total timeout budget
* would have been exhausted.
*
* Specifies a non-zero upstream timeout per retry attempt (including the initial attempt). This
* parameter is optional. The same conditions documented for
* :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms` apply.
* .. note::
* If left unspecified, Envoy will use the global
* :ref:`route timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` for the request.
* Consequently, when using a :ref:`5xx <config_http_filters_router_x-envoy-retry-on>` based
* retry policy, a request that times out will not be retried as the total timeout budget
* would have been exhausted.
*
* Specifies a non-zero upstream timeout per retry attempt (including the initial attempt). This
* parameter is optional. The same conditions documented for
* :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms` apply.
* .. note::
* If left unspecified, Envoy will use the global
* :ref:`route timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` for the request.
* Consequently, when using a :ref:`5xx <config_http_filters_router_x-envoy-retry-on>` based
* retry policy, a request that times out will not be retried as the total timeout budget
* would have been exhausted.
*
* Specifies an upstream idle timeout per retry attempt (including the initial attempt). This
* parameter is optional and if absent there is no per try idle timeout. The semantics of the per
* try idle timeout are similar to the
* :ref:`route idle timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` and
* :ref:`stream idle timeout
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_idle_timeout>`
* both enforced by the HTTP connection manager. The difference is that this idle timeout
* is enforced by the router for each individual attempt and thus after all previous filters have
* run, as opposed to *before* all previous filters run for the other idle timeouts. This timeout
* is useful in cases in which total request timeout is bounded by a number of retries and a
* :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`, but
* there is a desire to ensure each try is making incremental progress. Note also that similar
* to :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
* this idle timeout does not start until after both the entire request has been received by the
* router *and* a connection pool connection has been obtained. Unlike
* :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
* the idle timer continues once the response starts streaming back to the downstream client.
* This ensures that response data continues to make progress without using one of the HTTP
* connection manager idle timeouts.
*
*
* .google.protobuf.Duration per_try_idle_timeout = 13;
* @return Whether the perTryIdleTimeout field is set.
*/
public boolean hasPerTryIdleTimeout() {
return perTryIdleTimeoutBuilder_ != null || perTryIdleTimeout_ != null;
}
/**
*
* Specifies an upstream idle timeout per retry attempt (including the initial attempt). This
* parameter is optional and if absent there is no per try idle timeout. The semantics of the per
* try idle timeout are similar to the
* :ref:`route idle timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` and
* :ref:`stream idle timeout
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_idle_timeout>`
* both enforced by the HTTP connection manager. The difference is that this idle timeout
* is enforced by the router for each individual attempt and thus after all previous filters have
* run, as opposed to *before* all previous filters run for the other idle timeouts. This timeout
* is useful in cases in which total request timeout is bounded by a number of retries and a
* :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`, but
* there is a desire to ensure each try is making incremental progress. Note also that similar
* to :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
* this idle timeout does not start until after both the entire request has been received by the
* router *and* a connection pool connection has been obtained. Unlike
* :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
* the idle timer continues once the response starts streaming back to the downstream client.
* This ensures that response data continues to make progress without using one of the HTTP
* connection manager idle timeouts.
*
* Specifies an upstream idle timeout per retry attempt (including the initial attempt). This
* parameter is optional and if absent there is no per try idle timeout. The semantics of the per
* try idle timeout are similar to the
* :ref:`route idle timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` and
* :ref:`stream idle timeout
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_idle_timeout>`
* both enforced by the HTTP connection manager. The difference is that this idle timeout
* is enforced by the router for each individual attempt and thus after all previous filters have
* run, as opposed to *before* all previous filters run for the other idle timeouts. This timeout
* is useful in cases in which total request timeout is bounded by a number of retries and a
* :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`, but
* there is a desire to ensure each try is making incremental progress. Note also that similar
* to :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
* this idle timeout does not start until after both the entire request has been received by the
* router *and* a connection pool connection has been obtained. Unlike
* :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
* the idle timer continues once the response starts streaming back to the downstream client.
* This ensures that response data continues to make progress without using one of the HTTP
* connection manager idle timeouts.
*
*
* .google.protobuf.Duration per_try_idle_timeout = 13;
*/
public Builder setPerTryIdleTimeout(com.google.protobuf.Duration value) {
if (perTryIdleTimeoutBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
perTryIdleTimeout_ = value;
onChanged();
} else {
perTryIdleTimeoutBuilder_.setMessage(value);
}
return this;
}
/**
*
* Specifies an upstream idle timeout per retry attempt (including the initial attempt). This
* parameter is optional and if absent there is no per try idle timeout. The semantics of the per
* try idle timeout are similar to the
* :ref:`route idle timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` and
* :ref:`stream idle timeout
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_idle_timeout>`
* both enforced by the HTTP connection manager. The difference is that this idle timeout
* is enforced by the router for each individual attempt and thus after all previous filters have
* run, as opposed to *before* all previous filters run for the other idle timeouts. This timeout
* is useful in cases in which total request timeout is bounded by a number of retries and a
* :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`, but
* there is a desire to ensure each try is making incremental progress. Note also that similar
* to :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
* this idle timeout does not start until after both the entire request has been received by the
* router *and* a connection pool connection has been obtained. Unlike
* :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
* the idle timer continues once the response starts streaming back to the downstream client.
* This ensures that response data continues to make progress without using one of the HTTP
* connection manager idle timeouts.
*
* Specifies an upstream idle timeout per retry attempt (including the initial attempt). This
* parameter is optional and if absent there is no per try idle timeout. The semantics of the per
* try idle timeout are similar to the
* :ref:`route idle timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` and
* :ref:`stream idle timeout
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_idle_timeout>`
* both enforced by the HTTP connection manager. The difference is that this idle timeout
* is enforced by the router for each individual attempt and thus after all previous filters have
* run, as opposed to *before* all previous filters run for the other idle timeouts. This timeout
* is useful in cases in which total request timeout is bounded by a number of retries and a
* :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`, but
* there is a desire to ensure each try is making incremental progress. Note also that similar
* to :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
* this idle timeout does not start until after both the entire request has been received by the
* router *and* a connection pool connection has been obtained. Unlike
* :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
* the idle timer continues once the response starts streaming back to the downstream client.
* This ensures that response data continues to make progress without using one of the HTTP
* connection manager idle timeouts.
*
* Specifies an upstream idle timeout per retry attempt (including the initial attempt). This
* parameter is optional and if absent there is no per try idle timeout. The semantics of the per
* try idle timeout are similar to the
* :ref:`route idle timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` and
* :ref:`stream idle timeout
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_idle_timeout>`
* both enforced by the HTTP connection manager. The difference is that this idle timeout
* is enforced by the router for each individual attempt and thus after all previous filters have
* run, as opposed to *before* all previous filters run for the other idle timeouts. This timeout
* is useful in cases in which total request timeout is bounded by a number of retries and a
* :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`, but
* there is a desire to ensure each try is making incremental progress. Note also that similar
* to :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
* this idle timeout does not start until after both the entire request has been received by the
* router *and* a connection pool connection has been obtained. Unlike
* :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
* the idle timer continues once the response starts streaming back to the downstream client.
* This ensures that response data continues to make progress without using one of the HTTP
* connection manager idle timeouts.
*
* Specifies an upstream idle timeout per retry attempt (including the initial attempt). This
* parameter is optional and if absent there is no per try idle timeout. The semantics of the per
* try idle timeout are similar to the
* :ref:`route idle timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` and
* :ref:`stream idle timeout
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_idle_timeout>`
* both enforced by the HTTP connection manager. The difference is that this idle timeout
* is enforced by the router for each individual attempt and thus after all previous filters have
* run, as opposed to *before* all previous filters run for the other idle timeouts. This timeout
* is useful in cases in which total request timeout is bounded by a number of retries and a
* :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`, but
* there is a desire to ensure each try is making incremental progress. Note also that similar
* to :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
* this idle timeout does not start until after both the entire request has been received by the
* router *and* a connection pool connection has been obtained. Unlike
* :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
* the idle timer continues once the response starts streaming back to the downstream client.
* This ensures that response data continues to make progress without using one of the HTTP
* connection manager idle timeouts.
*
* Specifies an upstream idle timeout per retry attempt (including the initial attempt). This
* parameter is optional and if absent there is no per try idle timeout. The semantics of the per
* try idle timeout are similar to the
* :ref:`route idle timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` and
* :ref:`stream idle timeout
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_idle_timeout>`
* both enforced by the HTTP connection manager. The difference is that this idle timeout
* is enforced by the router for each individual attempt and thus after all previous filters have
* run, as opposed to *before* all previous filters run for the other idle timeouts. This timeout
* is useful in cases in which total request timeout is bounded by a number of retries and a
* :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`, but
* there is a desire to ensure each try is making incremental progress. Note also that similar
* to :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
* this idle timeout does not start until after both the entire request has been received by the
* router *and* a connection pool connection has been obtained. Unlike
* :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
* the idle timer continues once the response starts streaming back to the downstream client.
* This ensures that response data continues to make progress without using one of the HTTP
* connection manager idle timeouts.
*
* Specifies an upstream idle timeout per retry attempt (including the initial attempt). This
* parameter is optional and if absent there is no per try idle timeout. The semantics of the per
* try idle timeout are similar to the
* :ref:`route idle timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` and
* :ref:`stream idle timeout
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_idle_timeout>`
* both enforced by the HTTP connection manager. The difference is that this idle timeout
* is enforced by the router for each individual attempt and thus after all previous filters have
* run, as opposed to *before* all previous filters run for the other idle timeouts. This timeout
* is useful in cases in which total request timeout is bounded by a number of retries and a
* :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`, but
* there is a desire to ensure each try is making incremental progress. Note also that similar
* to :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
* this idle timeout does not start until after both the entire request has been received by the
* router *and* a connection pool connection has been obtained. Unlike
* :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
* the idle timer continues once the response starts streaming back to the downstream client.
* This ensures that response data continues to make progress without using one of the HTTP
* connection manager idle timeouts.
*
* Specifies an implementation of a RetryPriority which is used to determine the
* distribution of load across priorities used for retries. Refer to
* :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more details.
*
*
* .envoy.config.route.v3.RetryPolicy.RetryPriority retry_priority = 4;
* @return Whether the retryPriority field is set.
*/
public boolean hasRetryPriority() {
return retryPriorityBuilder_ != null || retryPriority_ != null;
}
/**
*
* Specifies an implementation of a RetryPriority which is used to determine the
* distribution of load across priorities used for retries. Refer to
* :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more details.
*
* Specifies an implementation of a RetryPriority which is used to determine the
* distribution of load across priorities used for retries. Refer to
* :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more details.
*
*
* .envoy.config.route.v3.RetryPolicy.RetryPriority retry_priority = 4;
*/
public Builder setRetryPriority(io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority value) {
if (retryPriorityBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
retryPriority_ = value;
onChanged();
} else {
retryPriorityBuilder_.setMessage(value);
}
return this;
}
/**
*
* Specifies an implementation of a RetryPriority which is used to determine the
* distribution of load across priorities used for retries. Refer to
* :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more details.
*
* Specifies an implementation of a RetryPriority which is used to determine the
* distribution of load across priorities used for retries. Refer to
* :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more details.
*
* Specifies an implementation of a RetryPriority which is used to determine the
* distribution of load across priorities used for retries. Refer to
* :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more details.
*
* Specifies an implementation of a RetryPriority which is used to determine the
* distribution of load across priorities used for retries. Refer to
* :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more details.
*
* Specifies an implementation of a RetryPriority which is used to determine the
* distribution of load across priorities used for retries. Refer to
* :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more details.
*
* Specifies an implementation of a RetryPriority which is used to determine the
* distribution of load across priorities used for retries. Refer to
* :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more details.
*
* Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
* for retries. If any of the predicates reject the host, host selection will be reattempted.
* Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
* details.
*
* Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
* for retries. If any of the predicates reject the host, host selection will be reattempted.
* Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
* details.
*
*
* repeated .envoy.config.route.v3.RetryPolicy.RetryHostPredicate retry_host_predicate = 5;
*/
public int getRetryHostPredicateCount() {
if (retryHostPredicateBuilder_ == null) {
return retryHostPredicate_.size();
} else {
return retryHostPredicateBuilder_.getCount();
}
}
/**
*
* Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
* for retries. If any of the predicates reject the host, host selection will be reattempted.
* Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
* details.
*
* Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
* for retries. If any of the predicates reject the host, host selection will be reattempted.
* Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
* details.
*
*
* repeated .envoy.config.route.v3.RetryPolicy.RetryHostPredicate retry_host_predicate = 5;
*/
public Builder setRetryHostPredicate(
int index, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate value) {
if (retryHostPredicateBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureRetryHostPredicateIsMutable();
retryHostPredicate_.set(index, value);
onChanged();
} else {
retryHostPredicateBuilder_.setMessage(index, value);
}
return this;
}
/**
*
* Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
* for retries. If any of the predicates reject the host, host selection will be reattempted.
* Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
* details.
*
* Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
* for retries. If any of the predicates reject the host, host selection will be reattempted.
* Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
* details.
*
*
* repeated .envoy.config.route.v3.RetryPolicy.RetryHostPredicate retry_host_predicate = 5;
*/
public Builder addRetryHostPredicate(io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate value) {
if (retryHostPredicateBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureRetryHostPredicateIsMutable();
retryHostPredicate_.add(value);
onChanged();
} else {
retryHostPredicateBuilder_.addMessage(value);
}
return this;
}
/**
*
* Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
* for retries. If any of the predicates reject the host, host selection will be reattempted.
* Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
* details.
*
*
* repeated .envoy.config.route.v3.RetryPolicy.RetryHostPredicate retry_host_predicate = 5;
*/
public Builder addRetryHostPredicate(
int index, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate value) {
if (retryHostPredicateBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureRetryHostPredicateIsMutable();
retryHostPredicate_.add(index, value);
onChanged();
} else {
retryHostPredicateBuilder_.addMessage(index, value);
}
return this;
}
/**
*
* Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
* for retries. If any of the predicates reject the host, host selection will be reattempted.
* Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
* details.
*
* Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
* for retries. If any of the predicates reject the host, host selection will be reattempted.
* Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
* details.
*
* Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
* for retries. If any of the predicates reject the host, host selection will be reattempted.
* Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
* details.
*
* Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
* for retries. If any of the predicates reject the host, host selection will be reattempted.
* Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
* details.
*
* Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
* for retries. If any of the predicates reject the host, host selection will be reattempted.
* Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
* details.
*
* Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
* for retries. If any of the predicates reject the host, host selection will be reattempted.
* Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
* details.
*
*
* repeated .envoy.config.route.v3.RetryPolicy.RetryHostPredicate retry_host_predicate = 5;
*/
public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate.Builder getRetryHostPredicateBuilder(
int index) {
return getRetryHostPredicateFieldBuilder().getBuilder(index);
}
/**
*
* Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
* for retries. If any of the predicates reject the host, host selection will be reattempted.
* Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
* details.
*
*
* repeated .envoy.config.route.v3.RetryPolicy.RetryHostPredicate retry_host_predicate = 5;
*/
public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicateOrBuilder getRetryHostPredicateOrBuilder(
int index) {
if (retryHostPredicateBuilder_ == null) {
return retryHostPredicate_.get(index); } else {
return retryHostPredicateBuilder_.getMessageOrBuilder(index);
}
}
/**
*
* Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
* for retries. If any of the predicates reject the host, host selection will be reattempted.
* Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
* details.
*
* Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
* for retries. If any of the predicates reject the host, host selection will be reattempted.
* Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
* details.
*
* Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
* for retries. If any of the predicates reject the host, host selection will be reattempted.
* Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
* details.
*
* Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
* for retries. If any of the predicates reject the host, host selection will be reattempted.
* Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
* details.
*
* Retry options predicates that will be applied prior to retrying a request. These predicates
* allow customizing request behavior between retries.
* [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions]
*
* Retry options predicates that will be applied prior to retrying a request. These predicates
* allow customizing request behavior between retries.
* [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions]
*
*
* repeated .envoy.config.core.v3.TypedExtensionConfig retry_options_predicates = 12;
*/
public int getRetryOptionsPredicatesCount() {
if (retryOptionsPredicatesBuilder_ == null) {
return retryOptionsPredicates_.size();
} else {
return retryOptionsPredicatesBuilder_.getCount();
}
}
/**
*
* Retry options predicates that will be applied prior to retrying a request. These predicates
* allow customizing request behavior between retries.
* [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions]
*
* Retry options predicates that will be applied prior to retrying a request. These predicates
* allow customizing request behavior between retries.
* [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions]
*
*
* repeated .envoy.config.core.v3.TypedExtensionConfig retry_options_predicates = 12;
*/
public Builder setRetryOptionsPredicates(
int index, io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig value) {
if (retryOptionsPredicatesBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureRetryOptionsPredicatesIsMutable();
retryOptionsPredicates_.set(index, value);
onChanged();
} else {
retryOptionsPredicatesBuilder_.setMessage(index, value);
}
return this;
}
/**
*
* Retry options predicates that will be applied prior to retrying a request. These predicates
* allow customizing request behavior between retries.
* [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions]
*
* Retry options predicates that will be applied prior to retrying a request. These predicates
* allow customizing request behavior between retries.
* [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions]
*
*
* repeated .envoy.config.core.v3.TypedExtensionConfig retry_options_predicates = 12;
*/
public Builder addRetryOptionsPredicates(io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig value) {
if (retryOptionsPredicatesBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureRetryOptionsPredicatesIsMutable();
retryOptionsPredicates_.add(value);
onChanged();
} else {
retryOptionsPredicatesBuilder_.addMessage(value);
}
return this;
}
/**
*
* Retry options predicates that will be applied prior to retrying a request. These predicates
* allow customizing request behavior between retries.
* [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions]
*
*
* repeated .envoy.config.core.v3.TypedExtensionConfig retry_options_predicates = 12;
*/
public Builder addRetryOptionsPredicates(
int index, io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig value) {
if (retryOptionsPredicatesBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureRetryOptionsPredicatesIsMutable();
retryOptionsPredicates_.add(index, value);
onChanged();
} else {
retryOptionsPredicatesBuilder_.addMessage(index, value);
}
return this;
}
/**
*
* Retry options predicates that will be applied prior to retrying a request. These predicates
* allow customizing request behavior between retries.
* [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions]
*
* Retry options predicates that will be applied prior to retrying a request. These predicates
* allow customizing request behavior between retries.
* [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions]
*
* Retry options predicates that will be applied prior to retrying a request. These predicates
* allow customizing request behavior between retries.
* [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions]
*
* Retry options predicates that will be applied prior to retrying a request. These predicates
* allow customizing request behavior between retries.
* [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions]
*
* Retry options predicates that will be applied prior to retrying a request. These predicates
* allow customizing request behavior between retries.
* [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions]
*
* Retry options predicates that will be applied prior to retrying a request. These predicates
* allow customizing request behavior between retries.
* [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions]
*
*
* repeated .envoy.config.core.v3.TypedExtensionConfig retry_options_predicates = 12;
*/
public io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.Builder getRetryOptionsPredicatesBuilder(
int index) {
return getRetryOptionsPredicatesFieldBuilder().getBuilder(index);
}
/**
*
* Retry options predicates that will be applied prior to retrying a request. These predicates
* allow customizing request behavior between retries.
* [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions]
*
*
* repeated .envoy.config.core.v3.TypedExtensionConfig retry_options_predicates = 12;
*/
public io.envoyproxy.envoy.config.core.v3.TypedExtensionConfigOrBuilder getRetryOptionsPredicatesOrBuilder(
int index) {
if (retryOptionsPredicatesBuilder_ == null) {
return retryOptionsPredicates_.get(index); } else {
return retryOptionsPredicatesBuilder_.getMessageOrBuilder(index);
}
}
/**
*
* Retry options predicates that will be applied prior to retrying a request. These predicates
* allow customizing request behavior between retries.
* [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions]
*
* Retry options predicates that will be applied prior to retrying a request. These predicates
* allow customizing request behavior between retries.
* [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions]
*
* Retry options predicates that will be applied prior to retrying a request. These predicates
* allow customizing request behavior between retries.
* [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions]
*
* Retry options predicates that will be applied prior to retrying a request. These predicates
* allow customizing request behavior between retries.
* [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions]
*
* The maximum number of times host selection will be reattempted before giving up, at which
* point the host that was last selected will be routed to. If unspecified, this will default to
* retrying once.
*
*
* int64 host_selection_retry_max_attempts = 6;
* @return The hostSelectionRetryMaxAttempts.
*/
@java.lang.Override
public long getHostSelectionRetryMaxAttempts() {
return hostSelectionRetryMaxAttempts_;
}
/**
*
* The maximum number of times host selection will be reattempted before giving up, at which
* point the host that was last selected will be routed to. If unspecified, this will default to
* retrying once.
*
*
* int64 host_selection_retry_max_attempts = 6;
* @param value The hostSelectionRetryMaxAttempts to set.
* @return This builder for chaining.
*/
public Builder setHostSelectionRetryMaxAttempts(long value) {
hostSelectionRetryMaxAttempts_ = value;
onChanged();
return this;
}
/**
*
* The maximum number of times host selection will be reattempted before giving up, at which
* point the host that was last selected will be routed to. If unspecified, this will default to
* retrying once.
*
* HTTP status codes that should trigger a retry in addition to those specified by retry_on.
*
*
* repeated uint32 retriable_status_codes = 7;
* @return A list containing the retriableStatusCodes.
*/
public java.util.List
getRetriableStatusCodesList() {
return ((bitField0_ & 0x00000004) != 0) ?
java.util.Collections.unmodifiableList(retriableStatusCodes_) : retriableStatusCodes_;
}
/**
*
* HTTP status codes that should trigger a retry in addition to those specified by retry_on.
*
*
* repeated uint32 retriable_status_codes = 7;
* @return The count of retriableStatusCodes.
*/
public int getRetriableStatusCodesCount() {
return retriableStatusCodes_.size();
}
/**
*
* HTTP status codes that should trigger a retry in addition to those specified by retry_on.
*
*
* repeated uint32 retriable_status_codes = 7;
* @param index The index of the element to return.
* @return The retriableStatusCodes at the given index.
*/
public int getRetriableStatusCodes(int index) {
return retriableStatusCodes_.getInt(index);
}
/**
*
* HTTP status codes that should trigger a retry in addition to those specified by retry_on.
*
*
* repeated uint32 retriable_status_codes = 7;
* @param index The index to set the value at.
* @param value The retriableStatusCodes to set.
* @return This builder for chaining.
*/
public Builder setRetriableStatusCodes(
int index, int value) {
ensureRetriableStatusCodesIsMutable();
retriableStatusCodes_.setInt(index, value);
onChanged();
return this;
}
/**
*
* HTTP status codes that should trigger a retry in addition to those specified by retry_on.
*
*
* repeated uint32 retriable_status_codes = 7;
* @param value The retriableStatusCodes to add.
* @return This builder for chaining.
*/
public Builder addRetriableStatusCodes(int value) {
ensureRetriableStatusCodesIsMutable();
retriableStatusCodes_.addInt(value);
onChanged();
return this;
}
/**
*
* HTTP status codes that should trigger a retry in addition to those specified by retry_on.
*
*
* repeated uint32 retriable_status_codes = 7;
* @param values The retriableStatusCodes to add.
* @return This builder for chaining.
*/
public Builder addAllRetriableStatusCodes(
java.lang.Iterable extends java.lang.Integer> values) {
ensureRetriableStatusCodesIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(
values, retriableStatusCodes_);
onChanged();
return this;
}
/**
*
* HTTP status codes that should trigger a retry in addition to those specified by retry_on.
*
* Specifies parameters that control exponential retry back off. This parameter is optional, in which case the
* default base interval is 25 milliseconds or, if set, the current value of the
* ``upstream.base_retry_backoff_ms`` runtime parameter. The default maximum interval is 10 times
* the base interval. The documentation for :ref:`config_http_filters_router_x-envoy-max-retries`
* describes Envoy's back-off algorithm.
*
*
* .envoy.config.route.v3.RetryPolicy.RetryBackOff retry_back_off = 8;
* @return Whether the retryBackOff field is set.
*/
public boolean hasRetryBackOff() {
return retryBackOffBuilder_ != null || retryBackOff_ != null;
}
/**
*
* Specifies parameters that control exponential retry back off. This parameter is optional, in which case the
* default base interval is 25 milliseconds or, if set, the current value of the
* ``upstream.base_retry_backoff_ms`` runtime parameter. The default maximum interval is 10 times
* the base interval. The documentation for :ref:`config_http_filters_router_x-envoy-max-retries`
* describes Envoy's back-off algorithm.
*
* Specifies parameters that control exponential retry back off. This parameter is optional, in which case the
* default base interval is 25 milliseconds or, if set, the current value of the
* ``upstream.base_retry_backoff_ms`` runtime parameter. The default maximum interval is 10 times
* the base interval. The documentation for :ref:`config_http_filters_router_x-envoy-max-retries`
* describes Envoy's back-off algorithm.
*
*
* .envoy.config.route.v3.RetryPolicy.RetryBackOff retry_back_off = 8;
*/
public Builder setRetryBackOff(io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff value) {
if (retryBackOffBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
retryBackOff_ = value;
onChanged();
} else {
retryBackOffBuilder_.setMessage(value);
}
return this;
}
/**
*
* Specifies parameters that control exponential retry back off. This parameter is optional, in which case the
* default base interval is 25 milliseconds or, if set, the current value of the
* ``upstream.base_retry_backoff_ms`` runtime parameter. The default maximum interval is 10 times
* the base interval. The documentation for :ref:`config_http_filters_router_x-envoy-max-retries`
* describes Envoy's back-off algorithm.
*
* Specifies parameters that control exponential retry back off. This parameter is optional, in which case the
* default base interval is 25 milliseconds or, if set, the current value of the
* ``upstream.base_retry_backoff_ms`` runtime parameter. The default maximum interval is 10 times
* the base interval. The documentation for :ref:`config_http_filters_router_x-envoy-max-retries`
* describes Envoy's back-off algorithm.
*
* Specifies parameters that control exponential retry back off. This parameter is optional, in which case the
* default base interval is 25 milliseconds or, if set, the current value of the
* ``upstream.base_retry_backoff_ms`` runtime parameter. The default maximum interval is 10 times
* the base interval. The documentation for :ref:`config_http_filters_router_x-envoy-max-retries`
* describes Envoy's back-off algorithm.
*
* Specifies parameters that control exponential retry back off. This parameter is optional, in which case the
* default base interval is 25 milliseconds or, if set, the current value of the
* ``upstream.base_retry_backoff_ms`` runtime parameter. The default maximum interval is 10 times
* the base interval. The documentation for :ref:`config_http_filters_router_x-envoy-max-retries`
* describes Envoy's back-off algorithm.
*
* Specifies parameters that control exponential retry back off. This parameter is optional, in which case the
* default base interval is 25 milliseconds or, if set, the current value of the
* ``upstream.base_retry_backoff_ms`` runtime parameter. The default maximum interval is 10 times
* the base interval. The documentation for :ref:`config_http_filters_router_x-envoy-max-retries`
* describes Envoy's back-off algorithm.
*
* Specifies parameters that control exponential retry back off. This parameter is optional, in which case the
* default base interval is 25 milliseconds or, if set, the current value of the
* ``upstream.base_retry_backoff_ms`` runtime parameter. The default maximum interval is 10 times
* the base interval. The documentation for :ref:`config_http_filters_router_x-envoy-max-retries`
* describes Envoy's back-off algorithm.
*
* Specifies parameters that control a retry back-off strategy that is used
* when the request is rate limited by the upstream server. The server may
* return a response header like ``Retry-After`` or ``X-RateLimit-Reset`` to
* provide feedback to the client on how long to wait before retrying. If
* configured, this back-off strategy will be used instead of the
* default exponential back off strategy (configured using ``retry_back_off``)
* whenever a response includes the matching headers.
*
*
* .envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff rate_limited_retry_back_off = 11;
* @return Whether the rateLimitedRetryBackOff field is set.
*/
public boolean hasRateLimitedRetryBackOff() {
return rateLimitedRetryBackOffBuilder_ != null || rateLimitedRetryBackOff_ != null;
}
/**
*
* Specifies parameters that control a retry back-off strategy that is used
* when the request is rate limited by the upstream server. The server may
* return a response header like ``Retry-After`` or ``X-RateLimit-Reset`` to
* provide feedback to the client on how long to wait before retrying. If
* configured, this back-off strategy will be used instead of the
* default exponential back off strategy (configured using ``retry_back_off``)
* whenever a response includes the matching headers.
*
* Specifies parameters that control a retry back-off strategy that is used
* when the request is rate limited by the upstream server. The server may
* return a response header like ``Retry-After`` or ``X-RateLimit-Reset`` to
* provide feedback to the client on how long to wait before retrying. If
* configured, this back-off strategy will be used instead of the
* default exponential back off strategy (configured using ``retry_back_off``)
* whenever a response includes the matching headers.
*
*
* .envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff rate_limited_retry_back_off = 11;
*/
public Builder setRateLimitedRetryBackOff(io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff value) {
if (rateLimitedRetryBackOffBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
rateLimitedRetryBackOff_ = value;
onChanged();
} else {
rateLimitedRetryBackOffBuilder_.setMessage(value);
}
return this;
}
/**
*
* Specifies parameters that control a retry back-off strategy that is used
* when the request is rate limited by the upstream server. The server may
* return a response header like ``Retry-After`` or ``X-RateLimit-Reset`` to
* provide feedback to the client on how long to wait before retrying. If
* configured, this back-off strategy will be used instead of the
* default exponential back off strategy (configured using ``retry_back_off``)
* whenever a response includes the matching headers.
*
* Specifies parameters that control a retry back-off strategy that is used
* when the request is rate limited by the upstream server. The server may
* return a response header like ``Retry-After`` or ``X-RateLimit-Reset`` to
* provide feedback to the client on how long to wait before retrying. If
* configured, this back-off strategy will be used instead of the
* default exponential back off strategy (configured using ``retry_back_off``)
* whenever a response includes the matching headers.
*
* Specifies parameters that control a retry back-off strategy that is used
* when the request is rate limited by the upstream server. The server may
* return a response header like ``Retry-After`` or ``X-RateLimit-Reset`` to
* provide feedback to the client on how long to wait before retrying. If
* configured, this back-off strategy will be used instead of the
* default exponential back off strategy (configured using ``retry_back_off``)
* whenever a response includes the matching headers.
*
* Specifies parameters that control a retry back-off strategy that is used
* when the request is rate limited by the upstream server. The server may
* return a response header like ``Retry-After`` or ``X-RateLimit-Reset`` to
* provide feedback to the client on how long to wait before retrying. If
* configured, this back-off strategy will be used instead of the
* default exponential back off strategy (configured using ``retry_back_off``)
* whenever a response includes the matching headers.
*
* Specifies parameters that control a retry back-off strategy that is used
* when the request is rate limited by the upstream server. The server may
* return a response header like ``Retry-After`` or ``X-RateLimit-Reset`` to
* provide feedback to the client on how long to wait before retrying. If
* configured, this back-off strategy will be used instead of the
* default exponential back off strategy (configured using ``retry_back_off``)
* whenever a response includes the matching headers.
*
* Specifies parameters that control a retry back-off strategy that is used
* when the request is rate limited by the upstream server. The server may
* return a response header like ``Retry-After`` or ``X-RateLimit-Reset`` to
* provide feedback to the client on how long to wait before retrying. If
* configured, this back-off strategy will be used instead of the
* default exponential back off strategy (configured using ``retry_back_off``)
* whenever a response includes the matching headers.
*
* HTTP response headers that trigger a retry if present in the response. A retry will be
* triggered if any of the header matches match the upstream response headers.
* The field is only consulted if 'retriable-headers' retry policy is active.
*
* HTTP response headers that trigger a retry if present in the response. A retry will be
* triggered if any of the header matches match the upstream response headers.
* The field is only consulted if 'retriable-headers' retry policy is active.
*
*
* repeated .envoy.config.route.v3.HeaderMatcher retriable_headers = 9;
*/
public int getRetriableHeadersCount() {
if (retriableHeadersBuilder_ == null) {
return retriableHeaders_.size();
} else {
return retriableHeadersBuilder_.getCount();
}
}
/**
*
* HTTP response headers that trigger a retry if present in the response. A retry will be
* triggered if any of the header matches match the upstream response headers.
* The field is only consulted if 'retriable-headers' retry policy is active.
*
* HTTP response headers that trigger a retry if present in the response. A retry will be
* triggered if any of the header matches match the upstream response headers.
* The field is only consulted if 'retriable-headers' retry policy is active.
*
*
* repeated .envoy.config.route.v3.HeaderMatcher retriable_headers = 9;
*/
public Builder setRetriableHeaders(
int index, io.envoyproxy.envoy.config.route.v3.HeaderMatcher value) {
if (retriableHeadersBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureRetriableHeadersIsMutable();
retriableHeaders_.set(index, value);
onChanged();
} else {
retriableHeadersBuilder_.setMessage(index, value);
}
return this;
}
/**
*
* HTTP response headers that trigger a retry if present in the response. A retry will be
* triggered if any of the header matches match the upstream response headers.
* The field is only consulted if 'retriable-headers' retry policy is active.
*
* HTTP response headers that trigger a retry if present in the response. A retry will be
* triggered if any of the header matches match the upstream response headers.
* The field is only consulted if 'retriable-headers' retry policy is active.
*
*
* repeated .envoy.config.route.v3.HeaderMatcher retriable_headers = 9;
*/
public Builder addRetriableHeaders(io.envoyproxy.envoy.config.route.v3.HeaderMatcher value) {
if (retriableHeadersBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureRetriableHeadersIsMutable();
retriableHeaders_.add(value);
onChanged();
} else {
retriableHeadersBuilder_.addMessage(value);
}
return this;
}
/**
*
* HTTP response headers that trigger a retry if present in the response. A retry will be
* triggered if any of the header matches match the upstream response headers.
* The field is only consulted if 'retriable-headers' retry policy is active.
*
*
* repeated .envoy.config.route.v3.HeaderMatcher retriable_headers = 9;
*/
public Builder addRetriableHeaders(
int index, io.envoyproxy.envoy.config.route.v3.HeaderMatcher value) {
if (retriableHeadersBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureRetriableHeadersIsMutable();
retriableHeaders_.add(index, value);
onChanged();
} else {
retriableHeadersBuilder_.addMessage(index, value);
}
return this;
}
/**
*
* HTTP response headers that trigger a retry if present in the response. A retry will be
* triggered if any of the header matches match the upstream response headers.
* The field is only consulted if 'retriable-headers' retry policy is active.
*
* HTTP response headers that trigger a retry if present in the response. A retry will be
* triggered if any of the header matches match the upstream response headers.
* The field is only consulted if 'retriable-headers' retry policy is active.
*
* HTTP response headers that trigger a retry if present in the response. A retry will be
* triggered if any of the header matches match the upstream response headers.
* The field is only consulted if 'retriable-headers' retry policy is active.
*
* HTTP response headers that trigger a retry if present in the response. A retry will be
* triggered if any of the header matches match the upstream response headers.
* The field is only consulted if 'retriable-headers' retry policy is active.
*
* HTTP response headers that trigger a retry if present in the response. A retry will be
* triggered if any of the header matches match the upstream response headers.
* The field is only consulted if 'retriable-headers' retry policy is active.
*
* HTTP response headers that trigger a retry if present in the response. A retry will be
* triggered if any of the header matches match the upstream response headers.
* The field is only consulted if 'retriable-headers' retry policy is active.
*
*
* repeated .envoy.config.route.v3.HeaderMatcher retriable_headers = 9;
*/
public io.envoyproxy.envoy.config.route.v3.HeaderMatcher.Builder getRetriableHeadersBuilder(
int index) {
return getRetriableHeadersFieldBuilder().getBuilder(index);
}
/**
*
* HTTP response headers that trigger a retry if present in the response. A retry will be
* triggered if any of the header matches match the upstream response headers.
* The field is only consulted if 'retriable-headers' retry policy is active.
*
*
* repeated .envoy.config.route.v3.HeaderMatcher retriable_headers = 9;
*/
public io.envoyproxy.envoy.config.route.v3.HeaderMatcherOrBuilder getRetriableHeadersOrBuilder(
int index) {
if (retriableHeadersBuilder_ == null) {
return retriableHeaders_.get(index); } else {
return retriableHeadersBuilder_.getMessageOrBuilder(index);
}
}
/**
*
* HTTP response headers that trigger a retry if present in the response. A retry will be
* triggered if any of the header matches match the upstream response headers.
* The field is only consulted if 'retriable-headers' retry policy is active.
*
* HTTP response headers that trigger a retry if present in the response. A retry will be
* triggered if any of the header matches match the upstream response headers.
* The field is only consulted if 'retriable-headers' retry policy is active.
*
* HTTP response headers that trigger a retry if present in the response. A retry will be
* triggered if any of the header matches match the upstream response headers.
* The field is only consulted if 'retriable-headers' retry policy is active.
*
* HTTP response headers that trigger a retry if present in the response. A retry will be
* triggered if any of the header matches match the upstream response headers.
* The field is only consulted if 'retriable-headers' retry policy is active.
*