Class LoadBalancingPolicy
- java.lang.Object
-
- com.google.protobuf.AbstractMessageLite
-
- com.google.protobuf.AbstractMessage
-
- com.google.protobuf.GeneratedMessage
-
- io.envoyproxy.envoy.config.cluster.v3.LoadBalancingPolicy
-
- All Implemented Interfaces:
com.google.protobuf.Message
,com.google.protobuf.MessageLite
,com.google.protobuf.MessageLiteOrBuilder
,com.google.protobuf.MessageOrBuilder
,LoadBalancingPolicyOrBuilder
,java.io.Serializable
public final class LoadBalancingPolicy extends com.google.protobuf.GeneratedMessage implements LoadBalancingPolicyOrBuilder
Extensible load balancing policy configuration. Every LB policy defined via this mechanism will be identified via a unique name using reverse DNS notation. If the policy needs configuration parameters, it must define a message for its own configuration, which will be stored in the config field. The name of the policy will tell clients which type of message they should expect to see in the config field. Note that there are cases where it is useful to be able to independently select LB policies for choosing a locality and for choosing an endpoint within that locality. For example, a given deployment may always use the same policy to choose the locality, but for choosing the endpoint within the locality, some clusters may use weighted-round-robin, while others may use some sort of session-based balancing. This can be accomplished via hierarchical LB policies, where the parent LB policy creates a child LB policy for each locality. For each request, the parent chooses the locality and then delegates to the child policy for that locality to choose the endpoint within the locality. To facilitate this, the config message for the top-level LB policy may include a field of type LoadBalancingPolicy that specifies the child policy.
Protobuf typeenvoy.config.cluster.v3.LoadBalancingPolicy
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
LoadBalancingPolicy.Builder
Extensible load balancing policy configuration.static class
LoadBalancingPolicy.Policy
Protobuf typeenvoy.config.cluster.v3.LoadBalancingPolicy.Policy
static interface
LoadBalancingPolicy.PolicyOrBuilder
-
Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessage
com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>,BuilderT extends com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT,BuilderT>>, com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.FieldAccessorTable, com.google.protobuf.GeneratedMessage.GeneratedExtension<ContainingT extends com.google.protobuf.Message,T extends java.lang.Object>, com.google.protobuf.GeneratedMessage.UnusedPrivateParameter
-
-
Field Summary
Fields Modifier and Type Field Description private static LoadBalancingPolicy
DEFAULT_INSTANCE
private byte
memoizedIsInitialized
private static com.google.protobuf.Parser<LoadBalancingPolicy>
PARSER
private java.util.List<LoadBalancingPolicy.Policy>
policies_
static int
POLICIES_FIELD_NUMBER
private static long
serialVersionUID
-
Constructor Summary
Constructors Modifier Constructor Description private
LoadBalancingPolicy()
private
LoadBalancingPolicy(com.google.protobuf.GeneratedMessage.Builder<?> builder)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object obj)
static LoadBalancingPolicy
getDefaultInstance()
LoadBalancingPolicy
getDefaultInstanceForType()
static com.google.protobuf.Descriptors.Descriptor
getDescriptor()
com.google.protobuf.Parser<LoadBalancingPolicy>
getParserForType()
LoadBalancingPolicy.Policy
getPolicies(int index)
Each client will iterate over the list in order and stop at the first policy that it supports.int
getPoliciesCount()
Each client will iterate over the list in order and stop at the first policy that it supports.java.util.List<LoadBalancingPolicy.Policy>
getPoliciesList()
Each client will iterate over the list in order and stop at the first policy that it supports.LoadBalancingPolicy.PolicyOrBuilder
getPoliciesOrBuilder(int index)
Each client will iterate over the list in order and stop at the first policy that it supports.java.util.List<? extends LoadBalancingPolicy.PolicyOrBuilder>
getPoliciesOrBuilderList()
Each client will iterate over the list in order and stop at the first policy that it supports.int
getSerializedSize()
int
hashCode()
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
internalGetFieldAccessorTable()
boolean
isInitialized()
static LoadBalancingPolicy.Builder
newBuilder()
static LoadBalancingPolicy.Builder
newBuilder(LoadBalancingPolicy prototype)
LoadBalancingPolicy.Builder
newBuilderForType()
protected LoadBalancingPolicy.Builder
newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
static LoadBalancingPolicy
parseDelimitedFrom(java.io.InputStream input)
static LoadBalancingPolicy
parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static LoadBalancingPolicy
parseFrom(byte[] data)
static LoadBalancingPolicy
parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static LoadBalancingPolicy
parseFrom(com.google.protobuf.ByteString data)
static LoadBalancingPolicy
parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static LoadBalancingPolicy
parseFrom(com.google.protobuf.CodedInputStream input)
static LoadBalancingPolicy
parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static LoadBalancingPolicy
parseFrom(java.io.InputStream input)
static LoadBalancingPolicy
parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static LoadBalancingPolicy
parseFrom(java.nio.ByteBuffer data)
static LoadBalancingPolicy
parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.protobuf.Parser<LoadBalancingPolicy>
parser()
LoadBalancingPolicy.Builder
toBuilder()
void
writeTo(com.google.protobuf.CodedOutputStream output)
-
Methods inherited from class com.google.protobuf.GeneratedMessage
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeMutableCopy, makeMutableCopy, mergeFromAndMakeImmutableInternal, newFileScopedGeneratedExtension, newInstance, newMessageScopedGeneratedExtension, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTag
-
Methods inherited from class com.google.protobuf.AbstractMessage
findInitializationErrors, getInitializationErrorString, hashFields, toString
-
Methods inherited from class com.google.protobuf.AbstractMessageLite
addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
POLICIES_FIELD_NUMBER
public static final int POLICIES_FIELD_NUMBER
- See Also:
- Constant Field Values
-
policies_
private java.util.List<LoadBalancingPolicy.Policy> policies_
-
memoizedIsInitialized
private byte memoizedIsInitialized
-
DEFAULT_INSTANCE
private static final LoadBalancingPolicy DEFAULT_INSTANCE
-
PARSER
private static final com.google.protobuf.Parser<LoadBalancingPolicy> PARSER
-
-
Method Detail
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
-
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
- Specified by:
internalGetFieldAccessorTable
in classcom.google.protobuf.GeneratedMessage
-
getPoliciesList
public java.util.List<LoadBalancingPolicy.Policy> getPoliciesList()
Each client will iterate over the list in order and stop at the first policy that it supports. This provides a mechanism for starting to use new LB policies that are not yet supported by all clients.
repeated .envoy.config.cluster.v3.LoadBalancingPolicy.Policy policies = 1;
- Specified by:
getPoliciesList
in interfaceLoadBalancingPolicyOrBuilder
-
getPoliciesOrBuilderList
public java.util.List<? extends LoadBalancingPolicy.PolicyOrBuilder> getPoliciesOrBuilderList()
Each client will iterate over the list in order and stop at the first policy that it supports. This provides a mechanism for starting to use new LB policies that are not yet supported by all clients.
repeated .envoy.config.cluster.v3.LoadBalancingPolicy.Policy policies = 1;
- Specified by:
getPoliciesOrBuilderList
in interfaceLoadBalancingPolicyOrBuilder
-
getPoliciesCount
public int getPoliciesCount()
Each client will iterate over the list in order and stop at the first policy that it supports. This provides a mechanism for starting to use new LB policies that are not yet supported by all clients.
repeated .envoy.config.cluster.v3.LoadBalancingPolicy.Policy policies = 1;
- Specified by:
getPoliciesCount
in interfaceLoadBalancingPolicyOrBuilder
-
getPolicies
public LoadBalancingPolicy.Policy getPolicies(int index)
Each client will iterate over the list in order and stop at the first policy that it supports. This provides a mechanism for starting to use new LB policies that are not yet supported by all clients.
repeated .envoy.config.cluster.v3.LoadBalancingPolicy.Policy policies = 1;
- Specified by:
getPolicies
in interfaceLoadBalancingPolicyOrBuilder
-
getPoliciesOrBuilder
public LoadBalancingPolicy.PolicyOrBuilder getPoliciesOrBuilder(int index)
Each client will iterate over the list in order and stop at the first policy that it supports. This provides a mechanism for starting to use new LB policies that are not yet supported by all clients.
repeated .envoy.config.cluster.v3.LoadBalancingPolicy.Policy policies = 1;
- Specified by:
getPoliciesOrBuilder
in interfaceLoadBalancingPolicyOrBuilder
-
isInitialized
public final boolean isInitialized()
- Specified by:
isInitialized
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Overrides:
isInitialized
in classcom.google.protobuf.GeneratedMessage
-
writeTo
public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException
- Specified by:
writeTo
in interfacecom.google.protobuf.MessageLite
- Overrides:
writeTo
in classcom.google.protobuf.GeneratedMessage
- Throws:
java.io.IOException
-
getSerializedSize
public int getSerializedSize()
- Specified by:
getSerializedSize
in interfacecom.google.protobuf.MessageLite
- Overrides:
getSerializedSize
in classcom.google.protobuf.GeneratedMessage
-
equals
public boolean equals(java.lang.Object obj)
- Specified by:
equals
in interfacecom.google.protobuf.Message
- Overrides:
equals
in classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()
- Specified by:
hashCode
in interfacecom.google.protobuf.Message
- Overrides:
hashCode
in classcom.google.protobuf.AbstractMessage
-
parseFrom
public static LoadBalancingPolicy parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static LoadBalancingPolicy parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static LoadBalancingPolicy parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static LoadBalancingPolicy parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static LoadBalancingPolicy parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static LoadBalancingPolicy parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static LoadBalancingPolicy parseFrom(java.io.InputStream input) throws java.io.IOException
- Throws:
java.io.IOException
-
parseFrom
public static LoadBalancingPolicy parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
- Throws:
java.io.IOException
-
parseDelimitedFrom
public static LoadBalancingPolicy parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException
- Throws:
java.io.IOException
-
parseDelimitedFrom
public static LoadBalancingPolicy parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
- Throws:
java.io.IOException
-
parseFrom
public static LoadBalancingPolicy parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException
- Throws:
java.io.IOException
-
parseFrom
public static LoadBalancingPolicy parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
- Throws:
java.io.IOException
-
newBuilderForType
public LoadBalancingPolicy.Builder newBuilderForType()
- Specified by:
newBuilderForType
in interfacecom.google.protobuf.Message
- Specified by:
newBuilderForType
in interfacecom.google.protobuf.MessageLite
-
newBuilder
public static LoadBalancingPolicy.Builder newBuilder()
-
newBuilder
public static LoadBalancingPolicy.Builder newBuilder(LoadBalancingPolicy prototype)
-
toBuilder
public LoadBalancingPolicy.Builder toBuilder()
- Specified by:
toBuilder
in interfacecom.google.protobuf.Message
- Specified by:
toBuilder
in interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected LoadBalancingPolicy.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
- Overrides:
newBuilderForType
in classcom.google.protobuf.AbstractMessage
-
getDefaultInstance
public static LoadBalancingPolicy getDefaultInstance()
-
parser
public static com.google.protobuf.Parser<LoadBalancingPolicy> parser()
-
getParserForType
public com.google.protobuf.Parser<LoadBalancingPolicy> getParserForType()
- Specified by:
getParserForType
in interfacecom.google.protobuf.Message
- Specified by:
getParserForType
in interfacecom.google.protobuf.MessageLite
- Overrides:
getParserForType
in classcom.google.protobuf.GeneratedMessage
-
getDefaultInstanceForType
public LoadBalancingPolicy getDefaultInstanceForType()
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageOrBuilder
-
-