All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.envoyproxy.envoy.config.route.v3.RetryPolicy Maven / Gradle / Ivy

There is a newer version: 1.0.46
Show newest version
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: envoy/config/route/v3/route_components.proto

package io.envoyproxy.envoy.config.route.v3;

/**
 * 
 * HTTP retry :ref:`architecture overview <arch_overview_http_routing_retry>`.
 * [#next-free-field: 14]
 * 
* * 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.
     * 
* * .google.protobuf.Duration base_interval = 1 [(.validate.rules) = { ... } * @return The baseInterval. */ com.google.protobuf.Duration getBaseInterval(); /** *
     * 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) = { ... } */ com.google.protobuf.DurationOrBuilder getBaseIntervalOrBuilder(); /** *
     * 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.
     * 
* * .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... } * @return The maxInterval. */ com.google.protobuf.Duration getMaxInterval(); /** *
     * 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.
     * 
* * .google.protobuf.Duration base_interval = 1 [(.validate.rules) = { ... } * @return The baseInterval. */ @java.lang.Override public com.google.protobuf.Duration getBaseInterval() { return baseInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : 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) = { ... } */ @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.
     * 
* * .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... } * @return The maxInterval. */ @java.lang.Override public com.google.protobuf.Duration getMaxInterval() { return maxInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : 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) = { ... } */ @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.
       * 
* * .google.protobuf.Duration base_interval = 1 [(.validate.rules) = { ... } * @return The baseInterval. */ public com.google.protobuf.Duration getBaseInterval() { if (baseIntervalBuilder_ == null) { return baseInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : baseInterval_; } else { return baseIntervalBuilder_.getMessage(); } } /** *
       * 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) = { ... } */ public Builder setBaseInterval(com.google.protobuf.Duration value) { if (baseIntervalBuilder_ == null) { if (value == null) { throw new NullPointerException(); } baseInterval_ = value; onChanged(); } else { baseIntervalBuilder_.setMessage(value); } return this; } /** *
       * 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) = { ... } */ public Builder setBaseInterval( com.google.protobuf.Duration.Builder builderForValue) { if (baseIntervalBuilder_ == null) { baseInterval_ = builderForValue.build(); onChanged(); } else { baseIntervalBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * 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) = { ... } */ public Builder mergeBaseInterval(com.google.protobuf.Duration value) { if (baseIntervalBuilder_ == null) { if (baseInterval_ != null) { baseInterval_ = com.google.protobuf.Duration.newBuilder(baseInterval_).mergeFrom(value).buildPartial(); } else { baseInterval_ = value; } onChanged(); } else { baseIntervalBuilder_.mergeFrom(value); } return this; } /** *
       * 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) = { ... } */ public Builder clearBaseInterval() { if (baseIntervalBuilder_ == null) { baseInterval_ = null; onChanged(); } else { baseInterval_ = null; baseIntervalBuilder_ = null; } return this; } /** *
       * 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) = { ... } */ public com.google.protobuf.Duration.Builder getBaseIntervalBuilder() { onChanged(); return getBaseIntervalFieldBuilder().getBuilder(); } /** *
       * 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) = { ... } */ public com.google.protobuf.DurationOrBuilder getBaseIntervalOrBuilder() { if (baseIntervalBuilder_ != null) { return baseIntervalBuilder_.getMessageOrBuilder(); } else { return baseInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : 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) = { ... } */ private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> getBaseIntervalFieldBuilder() { if (baseIntervalBuilder_ == null) { baseIntervalBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>( getBaseInterval(), getParentForChildren(), isClean()); baseInterval_ = null; } return baseIntervalBuilder_; } private com.google.protobuf.Duration maxInterval_; private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> maxIntervalBuilder_; /** *
       * 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.
       * 
* * .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... } * @return The maxInterval. */ public com.google.protobuf.Duration getMaxInterval() { if (maxIntervalBuilder_ == null) { return maxInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : maxInterval_; } else { return maxIntervalBuilder_.getMessage(); } } /** *
       * 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) = { ... } */ public Builder setMaxInterval(com.google.protobuf.Duration value) { if (maxIntervalBuilder_ == null) { if (value == null) { throw new NullPointerException(); } maxInterval_ = value; onChanged(); } else { maxIntervalBuilder_.setMessage(value); } return this; } /** *
       * 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) = { ... } */ public Builder setMaxInterval( com.google.protobuf.Duration.Builder builderForValue) { if (maxIntervalBuilder_ == null) { maxInterval_ = builderForValue.build(); onChanged(); } else { maxIntervalBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * 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) = { ... } */ public Builder mergeMaxInterval(com.google.protobuf.Duration value) { if (maxIntervalBuilder_ == null) { if (maxInterval_ != null) { maxInterval_ = com.google.protobuf.Duration.newBuilder(maxInterval_).mergeFrom(value).buildPartial(); } else { maxInterval_ = value; } onChanged(); } else { maxIntervalBuilder_.mergeFrom(value); } return this; } /** *
       * 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) = { ... } */ public Builder clearMaxInterval() { if (maxIntervalBuilder_ == null) { maxInterval_ = null; onChanged(); } else { maxInterval_ = null; maxIntervalBuilder_ = null; } return this; } /** *
       * 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) = { ... } */ public com.google.protobuf.Duration.Builder getMaxIntervalBuilder() { onChanged(); return getMaxIntervalFieldBuilder().getBuilder(); } /** *
       * 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) = { ... } */ public com.google.protobuf.DurationOrBuilder getMaxIntervalOrBuilder() { if (maxIntervalBuilder_ != null) { return maxIntervalBuilder_.getMessageOrBuilder(); } else { return maxInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : 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) = { ... } */ 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.
     * 
* * 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; } } /** *
     * 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.
       * 
* * 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; } } /** *
       * 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.
     * 
* * repeated .envoy.config.route.v3.RetryPolicy.ResetHeader reset_headers = 1 [(.validate.rules) = { ... } */ java.util.List getResetHeadersList(); /** *
     * 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) = { ... } */ io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader getResetHeaders(int index); /** *
     * 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) = { ... } */ int getResetHeadersCount(); /** *
     * 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.util.List getResetHeadersOrBuilderList(); /** *
     * 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) = { ... } */ io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeaderOrBuilder getResetHeadersOrBuilder( int index); /** *
     * 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.
     * 
* * .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... } * @return The maxInterval. */ com.google.protobuf.Duration getMaxInterval(); /** *
     * 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) = { ... } */ com.google.protobuf.DurationOrBuilder getMaxIntervalOrBuilder(); } /** *
   * 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.
     * 
* * repeated .envoy.config.route.v3.RetryPolicy.ResetHeader reset_headers = 1 [(.validate.rules) = { ... } */ @java.lang.Override public java.util.List getResetHeadersList() { return 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.
     * 
* * repeated .envoy.config.route.v3.RetryPolicy.ResetHeader reset_headers = 1 [(.validate.rules) = { ... } */ @java.lang.Override public java.util.List getResetHeadersOrBuilderList() { return 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.
     * 
* * repeated .envoy.config.route.v3.RetryPolicy.ResetHeader reset_headers = 1 [(.validate.rules) = { ... } */ @java.lang.Override public int getResetHeadersCount() { return resetHeaders_.size(); } /** *
     * 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.ResetHeader getResetHeaders(int index) { return resetHeaders_.get(index); } /** *
     * 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.
     * 
* * .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... } * @return The maxInterval. */ @java.lang.Override public com.google.protobuf.Duration getMaxInterval() { return maxInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : 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) = { ... } */ @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.
     * 
* * Protobuf type {@code envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff) io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOffOrBuilder { 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); } // Construct using io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getResetHeadersFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); if (resetHeadersBuilder_ == null) { resetHeaders_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); } else { resetHeadersBuilder_.clear(); } 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_RateLimitedRetryBackOff_descriptor; } @java.lang.Override public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff getDefaultInstanceForType() { return io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff.getDefaultInstance(); } @java.lang.Override public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff build() { io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff buildPartial() { io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff result = new io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff(this); int from_bitField0_ = bitField0_; if (resetHeadersBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0)) { resetHeaders_ = java.util.Collections.unmodifiableList(resetHeaders_); bitField0_ = (bitField0_ & ~0x00000001); } result.resetHeaders_ = resetHeaders_; } else { result.resetHeaders_ = resetHeadersBuilder_.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.RateLimitedRetryBackOff) { return mergeFrom((io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff other) { if (other == io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff.getDefaultInstance()) return this; if (resetHeadersBuilder_ == null) { if (!other.resetHeaders_.isEmpty()) { if (resetHeaders_.isEmpty()) { resetHeaders_ = other.resetHeaders_; bitField0_ = (bitField0_ & ~0x00000001); } else { ensureResetHeadersIsMutable(); resetHeaders_.addAll(other.resetHeaders_); } onChanged(); } } else { if (!other.resetHeaders_.isEmpty()) { if (resetHeadersBuilder_.isEmpty()) { resetHeadersBuilder_.dispose(); resetHeadersBuilder_ = null; resetHeaders_ = other.resetHeaders_; bitField0_ = (bitField0_ & ~0x00000001); resetHeadersBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getResetHeadersFieldBuilder() : null; } else { resetHeadersBuilder_.addAllMessages(other.resetHeaders_); } } } 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.RateLimitedRetryBackOff parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int bitField0_; private java.util.List resetHeaders_ = java.util.Collections.emptyList(); private void ensureResetHeadersIsMutable() { if (!((bitField0_ & 0x00000001) != 0)) { resetHeaders_ = new java.util.ArrayList(resetHeaders_); bitField0_ |= 0x00000001; } } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader, io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader.Builder, io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeaderOrBuilder> resetHeadersBuilder_; /** *
       * 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 java.util.List getResetHeadersList() { if (resetHeadersBuilder_ == null) { return java.util.Collections.unmodifiableList(resetHeaders_); } else { return resetHeadersBuilder_.getMessageList(); } } /** *
       * 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 int getResetHeadersCount() { if (resetHeadersBuilder_ == null) { return resetHeaders_.size(); } else { return resetHeadersBuilder_.getCount(); } } /** *
       * 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 io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader getResetHeaders(int index) { if (resetHeadersBuilder_ == null) { return resetHeaders_.get(index); } else { return resetHeadersBuilder_.getMessage(index); } } /** *
       * 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.
       * 
* * 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.Builder builderForValue) { if (resetHeadersBuilder_ == null) { ensureResetHeadersIsMutable(); resetHeaders_.set(index, builderForValue.build()); onChanged(); } else { resetHeadersBuilder_.setMessage(index, builderForValue.build()); } 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.
       * 
* * repeated .envoy.config.route.v3.RetryPolicy.ResetHeader reset_headers = 1 [(.validate.rules) = { ... } */ public Builder addResetHeaders(io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader value) { if (resetHeadersBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureResetHeadersIsMutable(); resetHeaders_.add(value); onChanged(); } else { resetHeadersBuilder_.addMessage(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.
       * 
* * 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.
       * 
* * repeated .envoy.config.route.v3.RetryPolicy.ResetHeader reset_headers = 1 [(.validate.rules) = { ... } */ public Builder addResetHeaders( io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader.Builder builderForValue) { if (resetHeadersBuilder_ == null) { ensureResetHeadersIsMutable(); resetHeaders_.add(builderForValue.build()); onChanged(); } else { resetHeadersBuilder_.addMessage(builderForValue.build()); } 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.
       * 
* * 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.Builder builderForValue) { if (resetHeadersBuilder_ == null) { ensureResetHeadersIsMutable(); resetHeaders_.add(index, builderForValue.build()); onChanged(); } else { resetHeadersBuilder_.addMessage(index, builderForValue.build()); } 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.
       * 
* * repeated .envoy.config.route.v3.RetryPolicy.ResetHeader reset_headers = 1 [(.validate.rules) = { ... } */ public Builder addAllResetHeaders( java.lang.Iterable values) { if (resetHeadersBuilder_ == null) { ensureResetHeadersIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, resetHeaders_); onChanged(); } else { resetHeadersBuilder_.addAllMessages(values); } 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.
       * 
* * repeated .envoy.config.route.v3.RetryPolicy.ResetHeader reset_headers = 1 [(.validate.rules) = { ... } */ public Builder clearResetHeaders() { if (resetHeadersBuilder_ == null) { resetHeaders_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { resetHeadersBuilder_.clear(); } 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.
       * 
* * repeated .envoy.config.route.v3.RetryPolicy.ResetHeader reset_headers = 1 [(.validate.rules) = { ... } */ public Builder removeResetHeaders(int index) { if (resetHeadersBuilder_ == null) { ensureResetHeadersIsMutable(); resetHeaders_.remove(index); onChanged(); } else { resetHeadersBuilder_.remove(index); } 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.
       * 
* * repeated .envoy.config.route.v3.RetryPolicy.ResetHeader reset_headers = 1 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader.Builder getResetHeadersBuilder( int index) { return getResetHeadersFieldBuilder().getBuilder(index); } /** *
       * 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 io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeaderOrBuilder getResetHeadersOrBuilder( int index) { if (resetHeadersBuilder_ == null) { return resetHeaders_.get(index); } else { return resetHeadersBuilder_.getMessageOrBuilder(index); } } /** *
       * 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 java.util.List getResetHeadersOrBuilderList() { if (resetHeadersBuilder_ != null) { return resetHeadersBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(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.
       * 
* * repeated .envoy.config.route.v3.RetryPolicy.ResetHeader reset_headers = 1 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader.Builder addResetHeadersBuilder() { return getResetHeadersFieldBuilder().addBuilder( io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader.getDefaultInstance()); } /** *
       * 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 io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader.Builder addResetHeadersBuilder( int index) { return getResetHeadersFieldBuilder().addBuilder( index, io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader.getDefaultInstance()); } /** *
       * 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 java.util.List getResetHeadersBuilderList() { return getResetHeadersFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader, io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader.Builder, io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeaderOrBuilder> getResetHeadersFieldBuilder() { if (resetHeadersBuilder_ == null) { resetHeadersBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader, io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeader.Builder, io.envoyproxy.envoy.config.route.v3.RetryPolicy.ResetHeaderOrBuilder>( resetHeaders_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); resetHeaders_ = null; } return resetHeadersBuilder_; } private com.google.protobuf.Duration maxInterval_; private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> maxIntervalBuilder_; /** *
       * 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.
       * 
* * .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... } * @return The maxInterval. */ public com.google.protobuf.Duration getMaxInterval() { if (maxIntervalBuilder_ == null) { return maxInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : maxInterval_; } else { return maxIntervalBuilder_.getMessage(); } } /** *
       * 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) = { ... } */ public Builder setMaxInterval(com.google.protobuf.Duration value) { if (maxIntervalBuilder_ == null) { if (value == null) { throw new NullPointerException(); } maxInterval_ = value; onChanged(); } else { maxIntervalBuilder_.setMessage(value); } return this; } /** *
       * 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) = { ... } */ public Builder setMaxInterval( com.google.protobuf.Duration.Builder builderForValue) { if (maxIntervalBuilder_ == null) { maxInterval_ = builderForValue.build(); onChanged(); } else { maxIntervalBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * 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) = { ... } */ public Builder mergeMaxInterval(com.google.protobuf.Duration value) { if (maxIntervalBuilder_ == null) { if (maxInterval_ != null) { maxInterval_ = com.google.protobuf.Duration.newBuilder(maxInterval_).mergeFrom(value).buildPartial(); } else { maxInterval_ = value; } onChanged(); } else { maxIntervalBuilder_.mergeFrom(value); } return this; } /** *
       * 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) = { ... } */ public Builder clearMaxInterval() { if (maxIntervalBuilder_ == null) { maxInterval_ = null; onChanged(); } else { maxInterval_ = null; maxIntervalBuilder_ = null; } return this; } /** *
       * 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) = { ... } */ public com.google.protobuf.Duration.Builder getMaxIntervalBuilder() { onChanged(); return getMaxIntervalFieldBuilder().getBuilder(); } /** *
       * 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) = { ... } */ public com.google.protobuf.DurationOrBuilder getMaxIntervalOrBuilder() { if (maxIntervalBuilder_ != null) { return maxIntervalBuilder_.getMessageOrBuilder(); } else { return maxInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : 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) = { ... } */ 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`.
   * 
* * string retry_on = 1; * @return The retryOn. */ @java.lang.Override public java.lang.String getRetryOn() { java.lang.Object ref = retryOn_; 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(); retryOn_ = s; return s; } } /** *
   * 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`.
   * 
* * .google.protobuf.UInt32Value num_retries = 2 [(.udpa.annotations.field_migrate) = { ... } * @return The numRetries. */ @java.lang.Override public com.google.protobuf.UInt32Value getNumRetries() { return numRetries_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : 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) = { ... } */ @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.
   * 
* * .google.protobuf.Duration per_try_timeout = 3; * @return The perTryTimeout. */ @java.lang.Override public com.google.protobuf.Duration getPerTryTimeout() { return perTryTimeout_ == null ? com.google.protobuf.Duration.getDefaultInstance() : 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; */ @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.
   * 
* * .google.protobuf.Duration per_try_idle_timeout = 13; * @return The perTryIdleTimeout. */ @java.lang.Override public com.google.protobuf.Duration getPerTryIdleTimeout() { return perTryIdleTimeout_ == null ? com.google.protobuf.Duration.getDefaultInstance() : 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; */ @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.
   * 
* * .envoy.config.route.v3.RetryPolicy.RetryPriority retry_priority = 4; * @return The retryPriority. */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority getRetryPriority() { return retryPriority_ == null ? io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority.getDefaultInstance() : 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; */ @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.
   * 
* * repeated .envoy.config.route.v3.RetryPolicy.RetryHostPredicate retry_host_predicate = 5; */ @java.lang.Override public java.util.List getRetryHostPredicateList() { return 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.
   * 
* * repeated .envoy.config.route.v3.RetryPolicy.RetryHostPredicate retry_host_predicate = 5; */ @java.lang.Override public java.util.List getRetryHostPredicateOrBuilderList() { return 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.
   * 
* * 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.
   * 
* * repeated .envoy.config.route.v3.RetryPolicy.RetryHostPredicate retry_host_predicate = 5; */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate getRetryHostPredicate(int index) { return retryHostPredicate_.get(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; */ @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]
   * 
* * repeated .envoy.config.core.v3.TypedExtensionConfig retry_options_predicates = 12; */ @java.lang.Override public java.util.List getRetryOptionsPredicatesList() { return 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]
   * 
* * repeated .envoy.config.core.v3.TypedExtensionConfig retry_options_predicates = 12; */ @java.lang.Override public java.util.List getRetryOptionsPredicatesOrBuilderList() { return 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]
   * 
* * 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]
   * 
* * repeated .envoy.config.core.v3.TypedExtensionConfig retry_options_predicates = 12; */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig getRetryOptionsPredicates(int index) { return retryOptionsPredicates_.get(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; */ @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.
   * 
* * .envoy.config.route.v3.RetryPolicy.RetryBackOff retry_back_off = 8; * @return The retryBackOff. */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff getRetryBackOff() { return retryBackOff_ == null ? io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff.getDefaultInstance() : 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; */ @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.
   * 
* * .envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff rate_limited_retry_back_off = 11; * @return The rateLimitedRetryBackOff. */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff getRateLimitedRetryBackOff() { return rateLimitedRetryBackOff_ == null ? io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff.getDefaultInstance() : 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; */ @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.
   * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_headers = 9; */ @java.lang.Override public java.util.List getRetriableHeadersList() { return 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.
   * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_headers = 9; */ @java.lang.Override public java.util.List getRetriableHeadersOrBuilderList() { return 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.
   * 
* * 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.
   * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_headers = 9; */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.HeaderMatcher getRetriableHeaders(int index) { return retriableHeaders_.get(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; */ @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.
   * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_request_headers = 10; */ @java.lang.Override public java.util.List getRetriableRequestHeadersList() { return retriableRequestHeaders_; } /** *
   * HTTP headers which must be present in the request for retries to be attempted.
   * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_request_headers = 10; */ @java.lang.Override public java.util.List getRetriableRequestHeadersOrBuilderList() { return retriableRequestHeaders_; } /** *
   * HTTP headers which must be present in the request for retries to be attempted.
   * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_request_headers = 10; */ @java.lang.Override public int getRetriableRequestHeadersCount() { return retriableRequestHeaders_.size(); } /** *
   * HTTP headers which must be present in the request for retries to be attempted.
   * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_request_headers = 10; */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.HeaderMatcher getRetriableRequestHeaders(int index) { return retriableRequestHeaders_.get(index); } /** *
   * HTTP headers which must be present in the request for retries to be attempted.
   * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_request_headers = 10; */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.HeaderMatcherOrBuilder getRetriableRequestHeadersOrBuilder( int index) { return retriableRequestHeaders_.get(index); } 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 { getSerializedSize(); if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(retryOn_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, retryOn_); } if (numRetries_ != null) { output.writeMessage(2, getNumRetries()); } if (perTryTimeout_ != null) { output.writeMessage(3, getPerTryTimeout()); } if (retryPriority_ != null) { output.writeMessage(4, getRetryPriority()); } for (int i = 0; i < retryHostPredicate_.size(); i++) { output.writeMessage(5, retryHostPredicate_.get(i)); } if (hostSelectionRetryMaxAttempts_ != 0L) { output.writeInt64(6, hostSelectionRetryMaxAttempts_); } if (getRetriableStatusCodesList().size() > 0) { output.writeUInt32NoTag(58); output.writeUInt32NoTag(retriableStatusCodesMemoizedSerializedSize); } for (int i = 0; i < retriableStatusCodes_.size(); i++) { output.writeUInt32NoTag(retriableStatusCodes_.getInt(i)); } if (retryBackOff_ != null) { output.writeMessage(8, getRetryBackOff()); } for (int i = 0; i < retriableHeaders_.size(); i++) { output.writeMessage(9, retriableHeaders_.get(i)); } for (int i = 0; i < retriableRequestHeaders_.size(); i++) { output.writeMessage(10, retriableRequestHeaders_.get(i)); } if (rateLimitedRetryBackOff_ != null) { output.writeMessage(11, getRateLimitedRetryBackOff()); } for (int i = 0; i < retryOptionsPredicates_.size(); i++) { output.writeMessage(12, retryOptionsPredicates_.get(i)); } if (perTryIdleTimeout_ != null) { output.writeMessage(13, getPerTryIdleTimeout()); } 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(retryOn_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, retryOn_); } if (numRetries_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, getNumRetries()); } if (perTryTimeout_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(3, getPerTryTimeout()); } if (retryPriority_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, getRetryPriority()); } for (int i = 0; i < retryHostPredicate_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(5, retryHostPredicate_.get(i)); } if (hostSelectionRetryMaxAttempts_ != 0L) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(6, hostSelectionRetryMaxAttempts_); } { int dataSize = 0; for (int i = 0; i < retriableStatusCodes_.size(); i++) { dataSize += com.google.protobuf.CodedOutputStream .computeUInt32SizeNoTag(retriableStatusCodes_.getInt(i)); } size += dataSize; if (!getRetriableStatusCodesList().isEmpty()) { size += 1; size += com.google.protobuf.CodedOutputStream .computeInt32SizeNoTag(dataSize); } retriableStatusCodesMemoizedSerializedSize = dataSize; } if (retryBackOff_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(8, getRetryBackOff()); } for (int i = 0; i < retriableHeaders_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(9, retriableHeaders_.get(i)); } for (int i = 0; i < retriableRequestHeaders_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(10, retriableRequestHeaders_.get(i)); } if (rateLimitedRetryBackOff_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(11, getRateLimitedRetryBackOff()); } for (int i = 0; i < retryOptionsPredicates_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(12, retryOptionsPredicates_.get(i)); } if (perTryIdleTimeout_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(13, getPerTryIdleTimeout()); } 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)) { return super.equals(obj); } io.envoyproxy.envoy.config.route.v3.RetryPolicy other = (io.envoyproxy.envoy.config.route.v3.RetryPolicy) obj; if (!getRetryOn() .equals(other.getRetryOn())) return false; if (hasNumRetries() != other.hasNumRetries()) return false; if (hasNumRetries()) { if (!getNumRetries() .equals(other.getNumRetries())) return false; } if (hasPerTryTimeout() != other.hasPerTryTimeout()) return false; if (hasPerTryTimeout()) { if (!getPerTryTimeout() .equals(other.getPerTryTimeout())) return false; } if (hasPerTryIdleTimeout() != other.hasPerTryIdleTimeout()) return false; if (hasPerTryIdleTimeout()) { if (!getPerTryIdleTimeout() .equals(other.getPerTryIdleTimeout())) return false; } if (hasRetryPriority() != other.hasRetryPriority()) return false; if (hasRetryPriority()) { if (!getRetryPriority() .equals(other.getRetryPriority())) return false; } if (!getRetryHostPredicateList() .equals(other.getRetryHostPredicateList())) return false; if (!getRetryOptionsPredicatesList() .equals(other.getRetryOptionsPredicatesList())) return false; if (getHostSelectionRetryMaxAttempts() != other.getHostSelectionRetryMaxAttempts()) return false; if (!getRetriableStatusCodesList() .equals(other.getRetriableStatusCodesList())) return false; if (hasRetryBackOff() != other.hasRetryBackOff()) return false; if (hasRetryBackOff()) { if (!getRetryBackOff() .equals(other.getRetryBackOff())) return false; } if (hasRateLimitedRetryBackOff() != other.hasRateLimitedRetryBackOff()) return false; if (hasRateLimitedRetryBackOff()) { if (!getRateLimitedRetryBackOff() .equals(other.getRateLimitedRetryBackOff())) return false; } if (!getRetriableHeadersList() .equals(other.getRetriableHeadersList())) return false; if (!getRetriableRequestHeadersList() .equals(other.getRetriableRequestHeadersList())) 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) + RETRY_ON_FIELD_NUMBER; hash = (53 * hash) + getRetryOn().hashCode(); if (hasNumRetries()) { hash = (37 * hash) + NUM_RETRIES_FIELD_NUMBER; hash = (53 * hash) + getNumRetries().hashCode(); } if (hasPerTryTimeout()) { hash = (37 * hash) + PER_TRY_TIMEOUT_FIELD_NUMBER; hash = (53 * hash) + getPerTryTimeout().hashCode(); } if (hasPerTryIdleTimeout()) { hash = (37 * hash) + PER_TRY_IDLE_TIMEOUT_FIELD_NUMBER; hash = (53 * hash) + getPerTryIdleTimeout().hashCode(); } if (hasRetryPriority()) { hash = (37 * hash) + RETRY_PRIORITY_FIELD_NUMBER; hash = (53 * hash) + getRetryPriority().hashCode(); } if (getRetryHostPredicateCount() > 0) { hash = (37 * hash) + RETRY_HOST_PREDICATE_FIELD_NUMBER; hash = (53 * hash) + getRetryHostPredicateList().hashCode(); } if (getRetryOptionsPredicatesCount() > 0) { hash = (37 * hash) + RETRY_OPTIONS_PREDICATES_FIELD_NUMBER; hash = (53 * hash) + getRetryOptionsPredicatesList().hashCode(); } hash = (37 * hash) + HOST_SELECTION_RETRY_MAX_ATTEMPTS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getHostSelectionRetryMaxAttempts()); if (getRetriableStatusCodesCount() > 0) { hash = (37 * hash) + RETRIABLE_STATUS_CODES_FIELD_NUMBER; hash = (53 * hash) + getRetriableStatusCodesList().hashCode(); } if (hasRetryBackOff()) { hash = (37 * hash) + RETRY_BACK_OFF_FIELD_NUMBER; hash = (53 * hash) + getRetryBackOff().hashCode(); } if (hasRateLimitedRetryBackOff()) { hash = (37 * hash) + RATE_LIMITED_RETRY_BACK_OFF_FIELD_NUMBER; hash = (53 * hash) + getRateLimitedRetryBackOff().hashCode(); } if (getRetriableHeadersCount() > 0) { hash = (37 * hash) + RETRIABLE_HEADERS_FIELD_NUMBER; hash = (53 * hash) + getRetriableHeadersList().hashCode(); } if (getRetriableRequestHeadersCount() > 0) { hash = (37 * hash) + RETRIABLE_REQUEST_HEADERS_FIELD_NUMBER; hash = (53 * hash) + getRetriableRequestHeadersList().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static io.envoyproxy.envoy.config.route.v3.RetryPolicy parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.config.route.v3.RetryPolicy 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 parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.config.route.v3.RetryPolicy 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 parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.config.route.v3.RetryPolicy 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 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 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 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 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 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 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 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; } /** *
   * HTTP retry :ref:`architecture overview <arch_overview_http_routing_retry>`.
   * [#next-free-field: 14]
   * 
* * Protobuf type {@code envoy.config.route.v3.RetryPolicy} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:envoy.config.route.v3.RetryPolicy) io.envoyproxy.envoy.config.route.v3.RetryPolicyOrBuilder { 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); } // Construct using io.envoyproxy.envoy.config.route.v3.RetryPolicy.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getRetryHostPredicateFieldBuilder(); getRetryOptionsPredicatesFieldBuilder(); getRetriableHeadersFieldBuilder(); getRetriableRequestHeadersFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); retryOn_ = ""; if (numRetriesBuilder_ == null) { numRetries_ = null; } else { numRetries_ = null; numRetriesBuilder_ = null; } if (perTryTimeoutBuilder_ == null) { perTryTimeout_ = null; } else { perTryTimeout_ = null; perTryTimeoutBuilder_ = null; } if (perTryIdleTimeoutBuilder_ == null) { perTryIdleTimeout_ = null; } else { perTryIdleTimeout_ = null; perTryIdleTimeoutBuilder_ = null; } if (retryPriorityBuilder_ == null) { retryPriority_ = null; } else { retryPriority_ = null; retryPriorityBuilder_ = null; } if (retryHostPredicateBuilder_ == null) { retryHostPredicate_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); } else { retryHostPredicateBuilder_.clear(); } if (retryOptionsPredicatesBuilder_ == null) { retryOptionsPredicates_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); } else { retryOptionsPredicatesBuilder_.clear(); } hostSelectionRetryMaxAttempts_ = 0L; retriableStatusCodes_ = emptyIntList(); bitField0_ = (bitField0_ & ~0x00000004); if (retryBackOffBuilder_ == null) { retryBackOff_ = null; } else { retryBackOff_ = null; retryBackOffBuilder_ = null; } if (rateLimitedRetryBackOffBuilder_ == null) { rateLimitedRetryBackOff_ = null; } else { rateLimitedRetryBackOff_ = null; rateLimitedRetryBackOffBuilder_ = null; } if (retriableHeadersBuilder_ == null) { retriableHeaders_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000008); } else { retriableHeadersBuilder_.clear(); } if (retriableRequestHeadersBuilder_ == null) { retriableRequestHeaders_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000010); } else { retriableRequestHeadersBuilder_.clear(); } 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_descriptor; } @java.lang.Override public io.envoyproxy.envoy.config.route.v3.RetryPolicy getDefaultInstanceForType() { return io.envoyproxy.envoy.config.route.v3.RetryPolicy.getDefaultInstance(); } @java.lang.Override public io.envoyproxy.envoy.config.route.v3.RetryPolicy build() { io.envoyproxy.envoy.config.route.v3.RetryPolicy result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public io.envoyproxy.envoy.config.route.v3.RetryPolicy buildPartial() { io.envoyproxy.envoy.config.route.v3.RetryPolicy result = new io.envoyproxy.envoy.config.route.v3.RetryPolicy(this); int from_bitField0_ = bitField0_; result.retryOn_ = retryOn_; if (numRetriesBuilder_ == null) { result.numRetries_ = numRetries_; } else { result.numRetries_ = numRetriesBuilder_.build(); } if (perTryTimeoutBuilder_ == null) { result.perTryTimeout_ = perTryTimeout_; } else { result.perTryTimeout_ = perTryTimeoutBuilder_.build(); } if (perTryIdleTimeoutBuilder_ == null) { result.perTryIdleTimeout_ = perTryIdleTimeout_; } else { result.perTryIdleTimeout_ = perTryIdleTimeoutBuilder_.build(); } if (retryPriorityBuilder_ == null) { result.retryPriority_ = retryPriority_; } else { result.retryPriority_ = retryPriorityBuilder_.build(); } if (retryHostPredicateBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0)) { retryHostPredicate_ = java.util.Collections.unmodifiableList(retryHostPredicate_); bitField0_ = (bitField0_ & ~0x00000001); } result.retryHostPredicate_ = retryHostPredicate_; } else { result.retryHostPredicate_ = retryHostPredicateBuilder_.build(); } if (retryOptionsPredicatesBuilder_ == null) { if (((bitField0_ & 0x00000002) != 0)) { retryOptionsPredicates_ = java.util.Collections.unmodifiableList(retryOptionsPredicates_); bitField0_ = (bitField0_ & ~0x00000002); } result.retryOptionsPredicates_ = retryOptionsPredicates_; } else { result.retryOptionsPredicates_ = retryOptionsPredicatesBuilder_.build(); } result.hostSelectionRetryMaxAttempts_ = hostSelectionRetryMaxAttempts_; if (((bitField0_ & 0x00000004) != 0)) { retriableStatusCodes_.makeImmutable(); bitField0_ = (bitField0_ & ~0x00000004); } result.retriableStatusCodes_ = retriableStatusCodes_; if (retryBackOffBuilder_ == null) { result.retryBackOff_ = retryBackOff_; } else { result.retryBackOff_ = retryBackOffBuilder_.build(); } if (rateLimitedRetryBackOffBuilder_ == null) { result.rateLimitedRetryBackOff_ = rateLimitedRetryBackOff_; } else { result.rateLimitedRetryBackOff_ = rateLimitedRetryBackOffBuilder_.build(); } if (retriableHeadersBuilder_ == null) { if (((bitField0_ & 0x00000008) != 0)) { retriableHeaders_ = java.util.Collections.unmodifiableList(retriableHeaders_); bitField0_ = (bitField0_ & ~0x00000008); } result.retriableHeaders_ = retriableHeaders_; } else { result.retriableHeaders_ = retriableHeadersBuilder_.build(); } if (retriableRequestHeadersBuilder_ == null) { if (((bitField0_ & 0x00000010) != 0)) { retriableRequestHeaders_ = java.util.Collections.unmodifiableList(retriableRequestHeaders_); bitField0_ = (bitField0_ & ~0x00000010); } result.retriableRequestHeaders_ = retriableRequestHeaders_; } else { result.retriableRequestHeaders_ = retriableRequestHeadersBuilder_.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) { return mergeFrom((io.envoyproxy.envoy.config.route.v3.RetryPolicy)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(io.envoyproxy.envoy.config.route.v3.RetryPolicy other) { if (other == io.envoyproxy.envoy.config.route.v3.RetryPolicy.getDefaultInstance()) return this; if (!other.getRetryOn().isEmpty()) { retryOn_ = other.retryOn_; onChanged(); } if (other.hasNumRetries()) { mergeNumRetries(other.getNumRetries()); } if (other.hasPerTryTimeout()) { mergePerTryTimeout(other.getPerTryTimeout()); } if (other.hasPerTryIdleTimeout()) { mergePerTryIdleTimeout(other.getPerTryIdleTimeout()); } if (other.hasRetryPriority()) { mergeRetryPriority(other.getRetryPriority()); } if (retryHostPredicateBuilder_ == null) { if (!other.retryHostPredicate_.isEmpty()) { if (retryHostPredicate_.isEmpty()) { retryHostPredicate_ = other.retryHostPredicate_; bitField0_ = (bitField0_ & ~0x00000001); } else { ensureRetryHostPredicateIsMutable(); retryHostPredicate_.addAll(other.retryHostPredicate_); } onChanged(); } } else { if (!other.retryHostPredicate_.isEmpty()) { if (retryHostPredicateBuilder_.isEmpty()) { retryHostPredicateBuilder_.dispose(); retryHostPredicateBuilder_ = null; retryHostPredicate_ = other.retryHostPredicate_; bitField0_ = (bitField0_ & ~0x00000001); retryHostPredicateBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getRetryHostPredicateFieldBuilder() : null; } else { retryHostPredicateBuilder_.addAllMessages(other.retryHostPredicate_); } } } if (retryOptionsPredicatesBuilder_ == null) { if (!other.retryOptionsPredicates_.isEmpty()) { if (retryOptionsPredicates_.isEmpty()) { retryOptionsPredicates_ = other.retryOptionsPredicates_; bitField0_ = (bitField0_ & ~0x00000002); } else { ensureRetryOptionsPredicatesIsMutable(); retryOptionsPredicates_.addAll(other.retryOptionsPredicates_); } onChanged(); } } else { if (!other.retryOptionsPredicates_.isEmpty()) { if (retryOptionsPredicatesBuilder_.isEmpty()) { retryOptionsPredicatesBuilder_.dispose(); retryOptionsPredicatesBuilder_ = null; retryOptionsPredicates_ = other.retryOptionsPredicates_; bitField0_ = (bitField0_ & ~0x00000002); retryOptionsPredicatesBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getRetryOptionsPredicatesFieldBuilder() : null; } else { retryOptionsPredicatesBuilder_.addAllMessages(other.retryOptionsPredicates_); } } } if (other.getHostSelectionRetryMaxAttempts() != 0L) { setHostSelectionRetryMaxAttempts(other.getHostSelectionRetryMaxAttempts()); } if (!other.retriableStatusCodes_.isEmpty()) { if (retriableStatusCodes_.isEmpty()) { retriableStatusCodes_ = other.retriableStatusCodes_; bitField0_ = (bitField0_ & ~0x00000004); } else { ensureRetriableStatusCodesIsMutable(); retriableStatusCodes_.addAll(other.retriableStatusCodes_); } onChanged(); } if (other.hasRetryBackOff()) { mergeRetryBackOff(other.getRetryBackOff()); } if (other.hasRateLimitedRetryBackOff()) { mergeRateLimitedRetryBackOff(other.getRateLimitedRetryBackOff()); } if (retriableHeadersBuilder_ == null) { if (!other.retriableHeaders_.isEmpty()) { if (retriableHeaders_.isEmpty()) { retriableHeaders_ = other.retriableHeaders_; bitField0_ = (bitField0_ & ~0x00000008); } else { ensureRetriableHeadersIsMutable(); retriableHeaders_.addAll(other.retriableHeaders_); } onChanged(); } } else { if (!other.retriableHeaders_.isEmpty()) { if (retriableHeadersBuilder_.isEmpty()) { retriableHeadersBuilder_.dispose(); retriableHeadersBuilder_ = null; retriableHeaders_ = other.retriableHeaders_; bitField0_ = (bitField0_ & ~0x00000008); retriableHeadersBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getRetriableHeadersFieldBuilder() : null; } else { retriableHeadersBuilder_.addAllMessages(other.retriableHeaders_); } } } if (retriableRequestHeadersBuilder_ == null) { if (!other.retriableRequestHeaders_.isEmpty()) { if (retriableRequestHeaders_.isEmpty()) { retriableRequestHeaders_ = other.retriableRequestHeaders_; bitField0_ = (bitField0_ & ~0x00000010); } else { ensureRetriableRequestHeadersIsMutable(); retriableRequestHeaders_.addAll(other.retriableRequestHeaders_); } onChanged(); } } else { if (!other.retriableRequestHeaders_.isEmpty()) { if (retriableRequestHeadersBuilder_.isEmpty()) { retriableRequestHeadersBuilder_.dispose(); retriableRequestHeadersBuilder_ = null; retriableRequestHeaders_ = other.retriableRequestHeaders_; bitField0_ = (bitField0_ & ~0x00000010); retriableRequestHeadersBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getRetriableRequestHeadersFieldBuilder() : null; } else { retriableRequestHeadersBuilder_.addAllMessages(other.retriableRequestHeaders_); } } } 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 parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (io.envoyproxy.envoy.config.route.v3.RetryPolicy) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int bitField0_; private 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`.
     * 
* * string retry_on = 1; * @return The retryOn. */ public java.lang.String getRetryOn() { java.lang.Object ref = retryOn_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); retryOn_ = s; return s; } else { return (java.lang.String) 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; * @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`.
     * 
* * .google.protobuf.UInt32Value num_retries = 2 [(.udpa.annotations.field_migrate) = { ... } * @return The numRetries. */ public com.google.protobuf.UInt32Value getNumRetries() { if (numRetriesBuilder_ == null) { return numRetries_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : numRetries_; } else { return numRetriesBuilder_.getMessage(); } } /** *
     * 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) = { ... } */ public Builder setNumRetries(com.google.protobuf.UInt32Value value) { if (numRetriesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } numRetries_ = value; onChanged(); } else { numRetriesBuilder_.setMessage(value); } return this; } /** *
     * 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) = { ... } */ public Builder setNumRetries( com.google.protobuf.UInt32Value.Builder builderForValue) { if (numRetriesBuilder_ == null) { numRetries_ = builderForValue.build(); onChanged(); } else { numRetriesBuilder_.setMessage(builderForValue.build()); } return this; } /** *
     * 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) = { ... } */ public Builder mergeNumRetries(com.google.protobuf.UInt32Value value) { if (numRetriesBuilder_ == null) { if (numRetries_ != null) { numRetries_ = com.google.protobuf.UInt32Value.newBuilder(numRetries_).mergeFrom(value).buildPartial(); } else { numRetries_ = value; } onChanged(); } else { numRetriesBuilder_.mergeFrom(value); } return this; } /** *
     * 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) = { ... } */ public Builder clearNumRetries() { if (numRetriesBuilder_ == null) { numRetries_ = null; onChanged(); } else { numRetries_ = null; numRetriesBuilder_ = null; } return this; } /** *
     * 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) = { ... } */ public com.google.protobuf.UInt32Value.Builder getNumRetriesBuilder() { onChanged(); return getNumRetriesFieldBuilder().getBuilder(); } /** *
     * 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) = { ... } */ public com.google.protobuf.UInt32ValueOrBuilder getNumRetriesOrBuilder() { if (numRetriesBuilder_ != null) { return numRetriesBuilder_.getMessageOrBuilder(); } else { return numRetries_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : 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) = { ... } */ private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> getNumRetriesFieldBuilder() { if (numRetriesBuilder_ == null) { numRetriesBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>( getNumRetries(), getParentForChildren(), isClean()); numRetries_ = null; } return numRetriesBuilder_; } private com.google.protobuf.Duration perTryTimeout_; private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> perTryTimeoutBuilder_; /** *
     * 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.
     * 
* * .google.protobuf.Duration per_try_timeout = 3; * @return The perTryTimeout. */ public com.google.protobuf.Duration getPerTryTimeout() { if (perTryTimeoutBuilder_ == null) { return perTryTimeout_ == null ? com.google.protobuf.Duration.getDefaultInstance() : perTryTimeout_; } else { return perTryTimeoutBuilder_.getMessage(); } } /** *
     * 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.
     * 
* * .google.protobuf.Duration per_try_timeout = 3; */ public Builder setPerTryTimeout( com.google.protobuf.Duration.Builder builderForValue) { if (perTryTimeoutBuilder_ == null) { perTryTimeout_ = builderForValue.build(); onChanged(); } else { perTryTimeoutBuilder_.setMessage(builderForValue.build()); } 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.
     * 
* * .google.protobuf.Duration per_try_timeout = 3; */ public Builder mergePerTryTimeout(com.google.protobuf.Duration value) { if (perTryTimeoutBuilder_ == null) { if (perTryTimeout_ != null) { perTryTimeout_ = com.google.protobuf.Duration.newBuilder(perTryTimeout_).mergeFrom(value).buildPartial(); } else { perTryTimeout_ = value; } onChanged(); } else { perTryTimeoutBuilder_.mergeFrom(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.
     * 
* * .google.protobuf.Duration per_try_timeout = 3; */ public Builder clearPerTryTimeout() { if (perTryTimeoutBuilder_ == null) { perTryTimeout_ = null; onChanged(); } else { perTryTimeout_ = null; perTryTimeoutBuilder_ = null; } 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.
     * 
* * .google.protobuf.Duration per_try_timeout = 3; */ public com.google.protobuf.Duration.Builder getPerTryTimeoutBuilder() { onChanged(); return getPerTryTimeoutFieldBuilder().getBuilder(); } /** *
     * 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 com.google.protobuf.DurationOrBuilder getPerTryTimeoutOrBuilder() { if (perTryTimeoutBuilder_ != null) { return perTryTimeoutBuilder_.getMessageOrBuilder(); } else { return perTryTimeout_ == null ? com.google.protobuf.Duration.getDefaultInstance() : 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; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> getPerTryTimeoutFieldBuilder() { if (perTryTimeoutBuilder_ == null) { perTryTimeoutBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>( getPerTryTimeout(), getParentForChildren(), isClean()); perTryTimeout_ = null; } return perTryTimeoutBuilder_; } private com.google.protobuf.Duration perTryIdleTimeout_; private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> perTryIdleTimeoutBuilder_; /** *
     * 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.
     * 
* * .google.protobuf.Duration per_try_idle_timeout = 13; * @return The perTryIdleTimeout. */ public com.google.protobuf.Duration getPerTryIdleTimeout() { if (perTryIdleTimeoutBuilder_ == null) { return perTryIdleTimeout_ == null ? com.google.protobuf.Duration.getDefaultInstance() : perTryIdleTimeout_; } else { return perTryIdleTimeoutBuilder_.getMessage(); } } /** *
     * 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.
     * 
* * .google.protobuf.Duration per_try_idle_timeout = 13; */ public Builder setPerTryIdleTimeout( com.google.protobuf.Duration.Builder builderForValue) { if (perTryIdleTimeoutBuilder_ == null) { perTryIdleTimeout_ = builderForValue.build(); onChanged(); } else { perTryIdleTimeoutBuilder_.setMessage(builderForValue.build()); } 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.
     * 
* * .google.protobuf.Duration per_try_idle_timeout = 13; */ public Builder mergePerTryIdleTimeout(com.google.protobuf.Duration value) { if (perTryIdleTimeoutBuilder_ == null) { if (perTryIdleTimeout_ != null) { perTryIdleTimeout_ = com.google.protobuf.Duration.newBuilder(perTryIdleTimeout_).mergeFrom(value).buildPartial(); } else { perTryIdleTimeout_ = value; } onChanged(); } else { perTryIdleTimeoutBuilder_.mergeFrom(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.
     * 
* * .google.protobuf.Duration per_try_idle_timeout = 13; */ public Builder clearPerTryIdleTimeout() { if (perTryIdleTimeoutBuilder_ == null) { perTryIdleTimeout_ = null; onChanged(); } else { perTryIdleTimeout_ = null; perTryIdleTimeoutBuilder_ = null; } 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.
     * 
* * .google.protobuf.Duration per_try_idle_timeout = 13; */ public com.google.protobuf.Duration.Builder getPerTryIdleTimeoutBuilder() { onChanged(); return getPerTryIdleTimeoutFieldBuilder().getBuilder(); } /** *
     * 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 com.google.protobuf.DurationOrBuilder getPerTryIdleTimeoutOrBuilder() { if (perTryIdleTimeoutBuilder_ != null) { return perTryIdleTimeoutBuilder_.getMessageOrBuilder(); } else { return perTryIdleTimeout_ == null ? com.google.protobuf.Duration.getDefaultInstance() : 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; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> getPerTryIdleTimeoutFieldBuilder() { if (perTryIdleTimeoutBuilder_ == null) { perTryIdleTimeoutBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>( getPerTryIdleTimeout(), getParentForChildren(), isClean()); perTryIdleTimeout_ = null; } return perTryIdleTimeoutBuilder_; } private io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority retryPriority_; private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority.Builder, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriorityOrBuilder> retryPriorityBuilder_; /** *
     * 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.
     * 
* * .envoy.config.route.v3.RetryPolicy.RetryPriority retry_priority = 4; * @return The retryPriority. */ public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority getRetryPriority() { if (retryPriorityBuilder_ == null) { return retryPriority_ == null ? io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority.getDefaultInstance() : retryPriority_; } else { return retryPriorityBuilder_.getMessage(); } } /** *
     * 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.
     * 
* * .envoy.config.route.v3.RetryPolicy.RetryPriority retry_priority = 4; */ public Builder setRetryPriority( io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority.Builder builderForValue) { if (retryPriorityBuilder_ == null) { retryPriority_ = builderForValue.build(); onChanged(); } else { retryPriorityBuilder_.setMessage(builderForValue.build()); } 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.
     * 
* * .envoy.config.route.v3.RetryPolicy.RetryPriority retry_priority = 4; */ public Builder mergeRetryPriority(io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority value) { if (retryPriorityBuilder_ == null) { if (retryPriority_ != null) { retryPriority_ = io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority.newBuilder(retryPriority_).mergeFrom(value).buildPartial(); } else { retryPriority_ = value; } onChanged(); } else { retryPriorityBuilder_.mergeFrom(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.
     * 
* * .envoy.config.route.v3.RetryPolicy.RetryPriority retry_priority = 4; */ public Builder clearRetryPriority() { if (retryPriorityBuilder_ == null) { retryPriority_ = null; onChanged(); } else { retryPriority_ = null; retryPriorityBuilder_ = null; } 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.
     * 
* * .envoy.config.route.v3.RetryPolicy.RetryPriority retry_priority = 4; */ public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority.Builder getRetryPriorityBuilder() { onChanged(); return getRetryPriorityFieldBuilder().getBuilder(); } /** *
     * 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 io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriorityOrBuilder getRetryPriorityOrBuilder() { if (retryPriorityBuilder_ != null) { return retryPriorityBuilder_.getMessageOrBuilder(); } else { return retryPriority_ == null ? io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority.getDefaultInstance() : 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; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority.Builder, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriorityOrBuilder> getRetryPriorityFieldBuilder() { if (retryPriorityBuilder_ == null) { retryPriorityBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriority.Builder, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryPriorityOrBuilder>( getRetryPriority(), getParentForChildren(), isClean()); retryPriority_ = null; } return retryPriorityBuilder_; } private java.util.List retryHostPredicate_ = java.util.Collections.emptyList(); private void ensureRetryHostPredicateIsMutable() { if (!((bitField0_ & 0x00000001) != 0)) { retryHostPredicate_ = new java.util.ArrayList(retryHostPredicate_); bitField0_ |= 0x00000001; } } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate.Builder, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicateOrBuilder> retryHostPredicateBuilder_; /** *
     * 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 java.util.List getRetryHostPredicateList() { if (retryHostPredicateBuilder_ == null) { return java.util.Collections.unmodifiableList(retryHostPredicate_); } else { return retryHostPredicateBuilder_.getMessageList(); } } /** *
     * 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.
     * 
* * repeated .envoy.config.route.v3.RetryPolicy.RetryHostPredicate retry_host_predicate = 5; */ public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate getRetryHostPredicate(int index) { if (retryHostPredicateBuilder_ == null) { return retryHostPredicate_.get(index); } else { return retryHostPredicateBuilder_.getMessage(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 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.
     * 
* * repeated .envoy.config.route.v3.RetryPolicy.RetryHostPredicate retry_host_predicate = 5; */ public Builder setRetryHostPredicate( int index, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate.Builder builderForValue) { if (retryHostPredicateBuilder_ == null) { ensureRetryHostPredicateIsMutable(); retryHostPredicate_.set(index, builderForValue.build()); onChanged(); } else { retryHostPredicateBuilder_.setMessage(index, builderForValue.build()); } 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(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.
     * 
* * repeated .envoy.config.route.v3.RetryPolicy.RetryHostPredicate retry_host_predicate = 5; */ public Builder addRetryHostPredicate( io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate.Builder builderForValue) { if (retryHostPredicateBuilder_ == null) { ensureRetryHostPredicateIsMutable(); retryHostPredicate_.add(builderForValue.build()); onChanged(); } else { retryHostPredicateBuilder_.addMessage(builderForValue.build()); } 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.Builder builderForValue) { if (retryHostPredicateBuilder_ == null) { ensureRetryHostPredicateIsMutable(); retryHostPredicate_.add(index, builderForValue.build()); onChanged(); } else { retryHostPredicateBuilder_.addMessage(index, builderForValue.build()); } 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 addAllRetryHostPredicate( java.lang.Iterable values) { if (retryHostPredicateBuilder_ == null) { ensureRetryHostPredicateIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, retryHostPredicate_); onChanged(); } else { retryHostPredicateBuilder_.addAllMessages(values); } 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 clearRetryHostPredicate() { if (retryHostPredicateBuilder_ == null) { retryHostPredicate_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { retryHostPredicateBuilder_.clear(); } 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 removeRetryHostPredicate(int index) { if (retryHostPredicateBuilder_ == null) { ensureRetryHostPredicateIsMutable(); retryHostPredicate_.remove(index); onChanged(); } else { retryHostPredicateBuilder_.remove(index); } 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 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.
     * 
* * repeated .envoy.config.route.v3.RetryPolicy.RetryHostPredicate retry_host_predicate = 5; */ public java.util.List getRetryHostPredicateOrBuilderList() { if (retryHostPredicateBuilder_ != null) { return retryHostPredicateBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(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.
     * 
* * repeated .envoy.config.route.v3.RetryPolicy.RetryHostPredicate retry_host_predicate = 5; */ public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate.Builder addRetryHostPredicateBuilder() { return getRetryHostPredicateFieldBuilder().addBuilder( io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate.getDefaultInstance()); } /** *
     * 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 addRetryHostPredicateBuilder( int index) { return getRetryHostPredicateFieldBuilder().addBuilder( index, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate.getDefaultInstance()); } /** *
     * 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 java.util.List getRetryHostPredicateBuilderList() { return getRetryHostPredicateFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate.Builder, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicateOrBuilder> getRetryHostPredicateFieldBuilder() { if (retryHostPredicateBuilder_ == null) { retryHostPredicateBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicate.Builder, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryHostPredicateOrBuilder>( retryHostPredicate_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); retryHostPredicate_ = null; } return retryHostPredicateBuilder_; } private java.util.List retryOptionsPredicates_ = java.util.Collections.emptyList(); private void ensureRetryOptionsPredicatesIsMutable() { if (!((bitField0_ & 0x00000002) != 0)) { retryOptionsPredicates_ = new java.util.ArrayList(retryOptionsPredicates_); bitField0_ |= 0x00000002; } } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig, io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.Builder, io.envoyproxy.envoy.config.core.v3.TypedExtensionConfigOrBuilder> retryOptionsPredicatesBuilder_; /** *
     * 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 java.util.List getRetryOptionsPredicatesList() { if (retryOptionsPredicatesBuilder_ == null) { return java.util.Collections.unmodifiableList(retryOptionsPredicates_); } else { return retryOptionsPredicatesBuilder_.getMessageList(); } } /** *
     * 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]
     * 
* * repeated .envoy.config.core.v3.TypedExtensionConfig retry_options_predicates = 12; */ public io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig getRetryOptionsPredicates(int index) { if (retryOptionsPredicatesBuilder_ == null) { return retryOptionsPredicates_.get(index); } else { return retryOptionsPredicatesBuilder_.getMessage(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 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]
     * 
* * repeated .envoy.config.core.v3.TypedExtensionConfig retry_options_predicates = 12; */ public Builder setRetryOptionsPredicates( int index, io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.Builder builderForValue) { if (retryOptionsPredicatesBuilder_ == null) { ensureRetryOptionsPredicatesIsMutable(); retryOptionsPredicates_.set(index, builderForValue.build()); onChanged(); } else { retryOptionsPredicatesBuilder_.setMessage(index, builderForValue.build()); } 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(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]
     * 
* * repeated .envoy.config.core.v3.TypedExtensionConfig retry_options_predicates = 12; */ public Builder addRetryOptionsPredicates( io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.Builder builderForValue) { if (retryOptionsPredicatesBuilder_ == null) { ensureRetryOptionsPredicatesIsMutable(); retryOptionsPredicates_.add(builderForValue.build()); onChanged(); } else { retryOptionsPredicatesBuilder_.addMessage(builderForValue.build()); } 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.Builder builderForValue) { if (retryOptionsPredicatesBuilder_ == null) { ensureRetryOptionsPredicatesIsMutable(); retryOptionsPredicates_.add(index, builderForValue.build()); onChanged(); } else { retryOptionsPredicatesBuilder_.addMessage(index, builderForValue.build()); } 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 addAllRetryOptionsPredicates( java.lang.Iterable values) { if (retryOptionsPredicatesBuilder_ == null) { ensureRetryOptionsPredicatesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, retryOptionsPredicates_); onChanged(); } else { retryOptionsPredicatesBuilder_.addAllMessages(values); } 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 clearRetryOptionsPredicates() { if (retryOptionsPredicatesBuilder_ == null) { retryOptionsPredicates_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); onChanged(); } else { retryOptionsPredicatesBuilder_.clear(); } 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 removeRetryOptionsPredicates(int index) { if (retryOptionsPredicatesBuilder_ == null) { ensureRetryOptionsPredicatesIsMutable(); retryOptionsPredicates_.remove(index); onChanged(); } else { retryOptionsPredicatesBuilder_.remove(index); } 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 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]
     * 
* * repeated .envoy.config.core.v3.TypedExtensionConfig retry_options_predicates = 12; */ public java.util.List getRetryOptionsPredicatesOrBuilderList() { if (retryOptionsPredicatesBuilder_ != null) { return retryOptionsPredicatesBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(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]
     * 
* * repeated .envoy.config.core.v3.TypedExtensionConfig retry_options_predicates = 12; */ public io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.Builder addRetryOptionsPredicatesBuilder() { return getRetryOptionsPredicatesFieldBuilder().addBuilder( io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.getDefaultInstance()); } /** *
     * 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 addRetryOptionsPredicatesBuilder( int index) { return getRetryOptionsPredicatesFieldBuilder().addBuilder( index, io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.getDefaultInstance()); } /** *
     * 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 java.util.List getRetryOptionsPredicatesBuilderList() { return getRetryOptionsPredicatesFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig, io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.Builder, io.envoyproxy.envoy.config.core.v3.TypedExtensionConfigOrBuilder> getRetryOptionsPredicatesFieldBuilder() { if (retryOptionsPredicatesBuilder_ == null) { retryOptionsPredicatesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig, io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.Builder, io.envoyproxy.envoy.config.core.v3.TypedExtensionConfigOrBuilder>( retryOptionsPredicates_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean()); retryOptionsPredicates_ = null; } return retryOptionsPredicatesBuilder_; } 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_; } /** *
     * 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.
     * 
* * int64 host_selection_retry_max_attempts = 6; * @return This builder for chaining. */ public Builder clearHostSelectionRetryMaxAttempts() { hostSelectionRetryMaxAttempts_ = 0L; onChanged(); return this; } private com.google.protobuf.Internal.IntList retriableStatusCodes_ = emptyIntList(); private void ensureRetriableStatusCodesIsMutable() { if (!((bitField0_ & 0x00000004) != 0)) { retriableStatusCodes_ = mutableCopy(retriableStatusCodes_); bitField0_ |= 0x00000004; } } /** *
     * 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 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.
     * 
* * repeated uint32 retriable_status_codes = 7; * @return This builder for chaining. */ public Builder clearRetriableStatusCodes() { retriableStatusCodes_ = emptyIntList(); bitField0_ = (bitField0_ & ~0x00000004); onChanged(); return this; } private io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff retryBackOff_; private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff.Builder, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOffOrBuilder> retryBackOffBuilder_; /** *
     * 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.
     * 
* * .envoy.config.route.v3.RetryPolicy.RetryBackOff retry_back_off = 8; * @return The retryBackOff. */ public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff getRetryBackOff() { if (retryBackOffBuilder_ == null) { return retryBackOff_ == null ? io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff.getDefaultInstance() : retryBackOff_; } else { return retryBackOffBuilder_.getMessage(); } } /** *
     * 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.
     * 
* * .envoy.config.route.v3.RetryPolicy.RetryBackOff retry_back_off = 8; */ public Builder setRetryBackOff( io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff.Builder builderForValue) { if (retryBackOffBuilder_ == null) { retryBackOff_ = builderForValue.build(); onChanged(); } else { retryBackOffBuilder_.setMessage(builderForValue.build()); } 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.
     * 
* * .envoy.config.route.v3.RetryPolicy.RetryBackOff retry_back_off = 8; */ public Builder mergeRetryBackOff(io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff value) { if (retryBackOffBuilder_ == null) { if (retryBackOff_ != null) { retryBackOff_ = io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff.newBuilder(retryBackOff_).mergeFrom(value).buildPartial(); } else { retryBackOff_ = value; } onChanged(); } else { retryBackOffBuilder_.mergeFrom(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.
     * 
* * .envoy.config.route.v3.RetryPolicy.RetryBackOff retry_back_off = 8; */ public Builder clearRetryBackOff() { if (retryBackOffBuilder_ == null) { retryBackOff_ = null; onChanged(); } else { retryBackOff_ = null; retryBackOffBuilder_ = null; } 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.
     * 
* * .envoy.config.route.v3.RetryPolicy.RetryBackOff retry_back_off = 8; */ public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff.Builder getRetryBackOffBuilder() { onChanged(); return getRetryBackOffFieldBuilder().getBuilder(); } /** *
     * 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 io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOffOrBuilder getRetryBackOffOrBuilder() { if (retryBackOffBuilder_ != null) { return retryBackOffBuilder_.getMessageOrBuilder(); } else { return retryBackOff_ == null ? io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff.getDefaultInstance() : 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; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff.Builder, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOffOrBuilder> getRetryBackOffFieldBuilder() { if (retryBackOffBuilder_ == null) { retryBackOffBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOff.Builder, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RetryBackOffOrBuilder>( getRetryBackOff(), getParentForChildren(), isClean()); retryBackOff_ = null; } return retryBackOffBuilder_; } private io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff rateLimitedRetryBackOff_; private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff.Builder, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOffOrBuilder> rateLimitedRetryBackOffBuilder_; /** *
     * 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.
     * 
* * .envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff rate_limited_retry_back_off = 11; * @return The rateLimitedRetryBackOff. */ public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff getRateLimitedRetryBackOff() { if (rateLimitedRetryBackOffBuilder_ == null) { return rateLimitedRetryBackOff_ == null ? io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff.getDefaultInstance() : rateLimitedRetryBackOff_; } else { return rateLimitedRetryBackOffBuilder_.getMessage(); } } /** *
     * 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.
     * 
* * .envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff rate_limited_retry_back_off = 11; */ public Builder setRateLimitedRetryBackOff( io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff.Builder builderForValue) { if (rateLimitedRetryBackOffBuilder_ == null) { rateLimitedRetryBackOff_ = builderForValue.build(); onChanged(); } else { rateLimitedRetryBackOffBuilder_.setMessage(builderForValue.build()); } 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.
     * 
* * .envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff rate_limited_retry_back_off = 11; */ public Builder mergeRateLimitedRetryBackOff(io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff value) { if (rateLimitedRetryBackOffBuilder_ == null) { if (rateLimitedRetryBackOff_ != null) { rateLimitedRetryBackOff_ = io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff.newBuilder(rateLimitedRetryBackOff_).mergeFrom(value).buildPartial(); } else { rateLimitedRetryBackOff_ = value; } onChanged(); } else { rateLimitedRetryBackOffBuilder_.mergeFrom(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.
     * 
* * .envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff rate_limited_retry_back_off = 11; */ public Builder clearRateLimitedRetryBackOff() { if (rateLimitedRetryBackOffBuilder_ == null) { rateLimitedRetryBackOff_ = null; onChanged(); } else { rateLimitedRetryBackOff_ = null; rateLimitedRetryBackOffBuilder_ = null; } 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.
     * 
* * .envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff rate_limited_retry_back_off = 11; */ public io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff.Builder getRateLimitedRetryBackOffBuilder() { onChanged(); return getRateLimitedRetryBackOffFieldBuilder().getBuilder(); } /** *
     * 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 io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOffOrBuilder getRateLimitedRetryBackOffOrBuilder() { if (rateLimitedRetryBackOffBuilder_ != null) { return rateLimitedRetryBackOffBuilder_.getMessageOrBuilder(); } else { return rateLimitedRetryBackOff_ == null ? io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff.getDefaultInstance() : 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; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff.Builder, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOffOrBuilder> getRateLimitedRetryBackOffFieldBuilder() { if (rateLimitedRetryBackOffBuilder_ == null) { rateLimitedRetryBackOffBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff.Builder, io.envoyproxy.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOffOrBuilder>( getRateLimitedRetryBackOff(), getParentForChildren(), isClean()); rateLimitedRetryBackOff_ = null; } return rateLimitedRetryBackOffBuilder_; } private java.util.List retriableHeaders_ = java.util.Collections.emptyList(); private void ensureRetriableHeadersIsMutable() { if (!((bitField0_ & 0x00000008) != 0)) { retriableHeaders_ = new java.util.ArrayList(retriableHeaders_); bitField0_ |= 0x00000008; } } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.HeaderMatcher, io.envoyproxy.envoy.config.route.v3.HeaderMatcher.Builder, io.envoyproxy.envoy.config.route.v3.HeaderMatcherOrBuilder> retriableHeadersBuilder_; /** *
     * 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 java.util.List getRetriableHeadersList() { if (retriableHeadersBuilder_ == null) { return java.util.Collections.unmodifiableList(retriableHeaders_); } else { return retriableHeadersBuilder_.getMessageList(); } } /** *
     * 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.
     * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_headers = 9; */ public io.envoyproxy.envoy.config.route.v3.HeaderMatcher getRetriableHeaders(int index) { if (retriableHeadersBuilder_ == null) { return retriableHeaders_.get(index); } else { return retriableHeadersBuilder_.getMessage(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 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.
     * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_headers = 9; */ public Builder setRetriableHeaders( int index, io.envoyproxy.envoy.config.route.v3.HeaderMatcher.Builder builderForValue) { if (retriableHeadersBuilder_ == null) { ensureRetriableHeadersIsMutable(); retriableHeaders_.set(index, builderForValue.build()); onChanged(); } else { retriableHeadersBuilder_.setMessage(index, builderForValue.build()); } 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(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.
     * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_headers = 9; */ public Builder addRetriableHeaders( io.envoyproxy.envoy.config.route.v3.HeaderMatcher.Builder builderForValue) { if (retriableHeadersBuilder_ == null) { ensureRetriableHeadersIsMutable(); retriableHeaders_.add(builderForValue.build()); onChanged(); } else { retriableHeadersBuilder_.addMessage(builderForValue.build()); } 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.Builder builderForValue) { if (retriableHeadersBuilder_ == null) { ensureRetriableHeadersIsMutable(); retriableHeaders_.add(index, builderForValue.build()); onChanged(); } else { retriableHeadersBuilder_.addMessage(index, builderForValue.build()); } 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 addAllRetriableHeaders( java.lang.Iterable values) { if (retriableHeadersBuilder_ == null) { ensureRetriableHeadersIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, retriableHeaders_); onChanged(); } else { retriableHeadersBuilder_.addAllMessages(values); } 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 clearRetriableHeaders() { if (retriableHeadersBuilder_ == null) { retriableHeaders_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000008); onChanged(); } else { retriableHeadersBuilder_.clear(); } 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 removeRetriableHeaders(int index) { if (retriableHeadersBuilder_ == null) { ensureRetriableHeadersIsMutable(); retriableHeaders_.remove(index); onChanged(); } else { retriableHeadersBuilder_.remove(index); } 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 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.
     * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_headers = 9; */ public java.util.List getRetriableHeadersOrBuilderList() { if (retriableHeadersBuilder_ != null) { return retriableHeadersBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(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.
     * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_headers = 9; */ public io.envoyproxy.envoy.config.route.v3.HeaderMatcher.Builder addRetriableHeadersBuilder() { return getRetriableHeadersFieldBuilder().addBuilder( io.envoyproxy.envoy.config.route.v3.HeaderMatcher.getDefaultInstance()); } /** *
     * 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 addRetriableHeadersBuilder( int index) { return getRetriableHeadersFieldBuilder().addBuilder( index, io.envoyproxy.envoy.config.route.v3.HeaderMatcher.getDefaultInstance()); } /** *
     * 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 java.util.List getRetriableHeadersBuilderList() { return getRetriableHeadersFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.HeaderMatcher, io.envoyproxy.envoy.config.route.v3.HeaderMatcher.Builder, io.envoyproxy.envoy.config.route.v3.HeaderMatcherOrBuilder> getRetriableHeadersFieldBuilder() { if (retriableHeadersBuilder_ == null) { retriableHeadersBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.HeaderMatcher, io.envoyproxy.envoy.config.route.v3.HeaderMatcher.Builder, io.envoyproxy.envoy.config.route.v3.HeaderMatcherOrBuilder>( retriableHeaders_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean()); retriableHeaders_ = null; } return retriableHeadersBuilder_; } private java.util.List retriableRequestHeaders_ = java.util.Collections.emptyList(); private void ensureRetriableRequestHeadersIsMutable() { if (!((bitField0_ & 0x00000010) != 0)) { retriableRequestHeaders_ = new java.util.ArrayList(retriableRequestHeaders_); bitField0_ |= 0x00000010; } } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.HeaderMatcher, io.envoyproxy.envoy.config.route.v3.HeaderMatcher.Builder, io.envoyproxy.envoy.config.route.v3.HeaderMatcherOrBuilder> retriableRequestHeadersBuilder_; /** *
     * HTTP headers which must be present in the request for retries to be attempted.
     * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_request_headers = 10; */ public java.util.List getRetriableRequestHeadersList() { if (retriableRequestHeadersBuilder_ == null) { return java.util.Collections.unmodifiableList(retriableRequestHeaders_); } else { return retriableRequestHeadersBuilder_.getMessageList(); } } /** *
     * HTTP headers which must be present in the request for retries to be attempted.
     * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_request_headers = 10; */ public int getRetriableRequestHeadersCount() { if (retriableRequestHeadersBuilder_ == null) { return retriableRequestHeaders_.size(); } else { return retriableRequestHeadersBuilder_.getCount(); } } /** *
     * HTTP headers which must be present in the request for retries to be attempted.
     * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_request_headers = 10; */ public io.envoyproxy.envoy.config.route.v3.HeaderMatcher getRetriableRequestHeaders(int index) { if (retriableRequestHeadersBuilder_ == null) { return retriableRequestHeaders_.get(index); } else { return retriableRequestHeadersBuilder_.getMessage(index); } } /** *
     * HTTP headers which must be present in the request for retries to be attempted.
     * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_request_headers = 10; */ public Builder setRetriableRequestHeaders( int index, io.envoyproxy.envoy.config.route.v3.HeaderMatcher value) { if (retriableRequestHeadersBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureRetriableRequestHeadersIsMutable(); retriableRequestHeaders_.set(index, value); onChanged(); } else { retriableRequestHeadersBuilder_.setMessage(index, value); } return this; } /** *
     * HTTP headers which must be present in the request for retries to be attempted.
     * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_request_headers = 10; */ public Builder setRetriableRequestHeaders( int index, io.envoyproxy.envoy.config.route.v3.HeaderMatcher.Builder builderForValue) { if (retriableRequestHeadersBuilder_ == null) { ensureRetriableRequestHeadersIsMutable(); retriableRequestHeaders_.set(index, builderForValue.build()); onChanged(); } else { retriableRequestHeadersBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
     * HTTP headers which must be present in the request for retries to be attempted.
     * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_request_headers = 10; */ public Builder addRetriableRequestHeaders(io.envoyproxy.envoy.config.route.v3.HeaderMatcher value) { if (retriableRequestHeadersBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureRetriableRequestHeadersIsMutable(); retriableRequestHeaders_.add(value); onChanged(); } else { retriableRequestHeadersBuilder_.addMessage(value); } return this; } /** *
     * HTTP headers which must be present in the request for retries to be attempted.
     * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_request_headers = 10; */ public Builder addRetriableRequestHeaders( int index, io.envoyproxy.envoy.config.route.v3.HeaderMatcher value) { if (retriableRequestHeadersBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureRetriableRequestHeadersIsMutable(); retriableRequestHeaders_.add(index, value); onChanged(); } else { retriableRequestHeadersBuilder_.addMessage(index, value); } return this; } /** *
     * HTTP headers which must be present in the request for retries to be attempted.
     * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_request_headers = 10; */ public Builder addRetriableRequestHeaders( io.envoyproxy.envoy.config.route.v3.HeaderMatcher.Builder builderForValue) { if (retriableRequestHeadersBuilder_ == null) { ensureRetriableRequestHeadersIsMutable(); retriableRequestHeaders_.add(builderForValue.build()); onChanged(); } else { retriableRequestHeadersBuilder_.addMessage(builderForValue.build()); } return this; } /** *
     * HTTP headers which must be present in the request for retries to be attempted.
     * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_request_headers = 10; */ public Builder addRetriableRequestHeaders( int index, io.envoyproxy.envoy.config.route.v3.HeaderMatcher.Builder builderForValue) { if (retriableRequestHeadersBuilder_ == null) { ensureRetriableRequestHeadersIsMutable(); retriableRequestHeaders_.add(index, builderForValue.build()); onChanged(); } else { retriableRequestHeadersBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
     * HTTP headers which must be present in the request for retries to be attempted.
     * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_request_headers = 10; */ public Builder addAllRetriableRequestHeaders( java.lang.Iterable values) { if (retriableRequestHeadersBuilder_ == null) { ensureRetriableRequestHeadersIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, retriableRequestHeaders_); onChanged(); } else { retriableRequestHeadersBuilder_.addAllMessages(values); } return this; } /** *
     * HTTP headers which must be present in the request for retries to be attempted.
     * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_request_headers = 10; */ public Builder clearRetriableRequestHeaders() { if (retriableRequestHeadersBuilder_ == null) { retriableRequestHeaders_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000010); onChanged(); } else { retriableRequestHeadersBuilder_.clear(); } return this; } /** *
     * HTTP headers which must be present in the request for retries to be attempted.
     * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_request_headers = 10; */ public Builder removeRetriableRequestHeaders(int index) { if (retriableRequestHeadersBuilder_ == null) { ensureRetriableRequestHeadersIsMutable(); retriableRequestHeaders_.remove(index); onChanged(); } else { retriableRequestHeadersBuilder_.remove(index); } return this; } /** *
     * HTTP headers which must be present in the request for retries to be attempted.
     * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_request_headers = 10; */ public io.envoyproxy.envoy.config.route.v3.HeaderMatcher.Builder getRetriableRequestHeadersBuilder( int index) { return getRetriableRequestHeadersFieldBuilder().getBuilder(index); } /** *
     * HTTP headers which must be present in the request for retries to be attempted.
     * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_request_headers = 10; */ public io.envoyproxy.envoy.config.route.v3.HeaderMatcherOrBuilder getRetriableRequestHeadersOrBuilder( int index) { if (retriableRequestHeadersBuilder_ == null) { return retriableRequestHeaders_.get(index); } else { return retriableRequestHeadersBuilder_.getMessageOrBuilder(index); } } /** *
     * HTTP headers which must be present in the request for retries to be attempted.
     * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_request_headers = 10; */ public java.util.List getRetriableRequestHeadersOrBuilderList() { if (retriableRequestHeadersBuilder_ != null) { return retriableRequestHeadersBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(retriableRequestHeaders_); } } /** *
     * HTTP headers which must be present in the request for retries to be attempted.
     * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_request_headers = 10; */ public io.envoyproxy.envoy.config.route.v3.HeaderMatcher.Builder addRetriableRequestHeadersBuilder() { return getRetriableRequestHeadersFieldBuilder().addBuilder( io.envoyproxy.envoy.config.route.v3.HeaderMatcher.getDefaultInstance()); } /** *
     * HTTP headers which must be present in the request for retries to be attempted.
     * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_request_headers = 10; */ public io.envoyproxy.envoy.config.route.v3.HeaderMatcher.Builder addRetriableRequestHeadersBuilder( int index) { return getRetriableRequestHeadersFieldBuilder().addBuilder( index, io.envoyproxy.envoy.config.route.v3.HeaderMatcher.getDefaultInstance()); } /** *
     * HTTP headers which must be present in the request for retries to be attempted.
     * 
* * repeated .envoy.config.route.v3.HeaderMatcher retriable_request_headers = 10; */ public java.util.List getRetriableRequestHeadersBuilderList() { return getRetriableRequestHeadersFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.HeaderMatcher, io.envoyproxy.envoy.config.route.v3.HeaderMatcher.Builder, io.envoyproxy.envoy.config.route.v3.HeaderMatcherOrBuilder> getRetriableRequestHeadersFieldBuilder() { if (retriableRequestHeadersBuilder_ == null) { retriableRequestHeadersBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.HeaderMatcher, io.envoyproxy.envoy.config.route.v3.HeaderMatcher.Builder, io.envoyproxy.envoy.config.route.v3.HeaderMatcherOrBuilder>( retriableRequestHeaders_, ((bitField0_ & 0x00000010) != 0), getParentForChildren(), isClean()); retriableRequestHeaders_ = null; } return retriableRequestHeadersBuilder_; } @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) } // @@protoc_insertion_point(class_scope:envoy.config.route.v3.RetryPolicy) private static final io.envoyproxy.envoy.config.route.v3.RetryPolicy DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new io.envoyproxy.envoy.config.route.v3.RetryPolicy(); } public static io.envoyproxy.envoy.config.route.v3.RetryPolicy getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public RetryPolicy parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new RetryPolicy(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 getDefaultInstanceForType() { return DEFAULT_INSTANCE; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy