java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessageV3.Builder<RandomSubsetting.Builder>
io.envoyproxy.envoy.extensions.load_balancing_policies.random_subsetting.v3.RandomSubsetting.Builder
All Implemented Interfaces:
com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, RandomSubsettingOrBuilder, Cloneable
Enclosing class:
RandomSubsetting

public static final class RandomSubsetting.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<RandomSubsetting.Builder> implements RandomSubsettingOrBuilder
 Configuration for the Random Subsetting Load Balancing Policy

 This policy selects a subset of endpoints and passes them to the child LB policy.
 It maintains 2 important properties:
 1. The policy tries to distribute connections among servers as equally as possible. The higher
 ``(N_clients*subset_size)/N_servers`` ratio is, the closer the resulting server connection
 distribution is to uniform.
 2. The policy minimizes the amount of connection churn generated during server scale-ups by
 using rendezvous hashing

 See the :ref:`load balancing architecture
 overview<arch_overview_load_balancing_types>` for more information.

 [#not-implemented-hide:]
 
Protobuf type envoy.extensions.load_balancing_policies.random_subsetting.v3.RandomSubsetting
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<RandomSubsetting.Builder>
    • clear

      public RandomSubsetting.Builder clear()
      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessageV3.Builder<RandomSubsetting.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<RandomSubsetting.Builder>
    • getDefaultInstanceForType

      public RandomSubsetting getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
    • build

      public RandomSubsetting build()
      Specified by:
      build in interface com.google.protobuf.Message.Builder
      Specified by:
      build in interface com.google.protobuf.MessageLite.Builder
    • buildPartial

      public RandomSubsetting buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • clone

      public RandomSubsetting.Builder clone()
      Specified by:
      clone in interface com.google.protobuf.Message.Builder
      Specified by:
      clone in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clone in class com.google.protobuf.GeneratedMessageV3.Builder<RandomSubsetting.Builder>
    • setField

      public RandomSubsetting.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      Specified by:
      setField in interface com.google.protobuf.Message.Builder
      Overrides:
      setField in class com.google.protobuf.GeneratedMessageV3.Builder<RandomSubsetting.Builder>
    • clearField

      public RandomSubsetting.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
      Specified by:
      clearField in interface com.google.protobuf.Message.Builder
      Overrides:
      clearField in class com.google.protobuf.GeneratedMessageV3.Builder<RandomSubsetting.Builder>
    • clearOneof

      public RandomSubsetting.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
      Specified by:
      clearOneof in interface com.google.protobuf.Message.Builder
      Overrides:
      clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<RandomSubsetting.Builder>
    • setRepeatedField

      public RandomSubsetting.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
      Specified by:
      setRepeatedField in interface com.google.protobuf.Message.Builder
      Overrides:
      setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<RandomSubsetting.Builder>
    • addRepeatedField

      public RandomSubsetting.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      Specified by:
      addRepeatedField in interface com.google.protobuf.Message.Builder
      Overrides:
      addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<RandomSubsetting.Builder>
    • mergeFrom

      public RandomSubsetting.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<RandomSubsetting.Builder>
    • mergeFrom

      public RandomSubsetting.Builder mergeFrom(RandomSubsetting other)
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<RandomSubsetting.Builder>
    • mergeFrom

      public RandomSubsetting.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<RandomSubsetting.Builder>
      Throws:
      IOException
    • hasSubsetSize

      public boolean hasSubsetSize()
       subset_size indicates how many backends every client will be connected to.
       The value must be greater than 0.
       
      .google.protobuf.UInt32Value subset_size = 1 [(.validate.rules) = { ... }
      Specified by:
      hasSubsetSize in interface RandomSubsettingOrBuilder
      Returns:
      Whether the subsetSize field is set.
    • getSubsetSize

      public com.google.protobuf.UInt32Value getSubsetSize()
       subset_size indicates how many backends every client will be connected to.
       The value must be greater than 0.
       
      .google.protobuf.UInt32Value subset_size = 1 [(.validate.rules) = { ... }
      Specified by:
      getSubsetSize in interface RandomSubsettingOrBuilder
      Returns:
      The subsetSize.
    • setSubsetSize

      public RandomSubsetting.Builder setSubsetSize(com.google.protobuf.UInt32Value value)
       subset_size indicates how many backends every client will be connected to.
       The value must be greater than 0.
       
      .google.protobuf.UInt32Value subset_size = 1 [(.validate.rules) = { ... }
    • setSubsetSize

      public RandomSubsetting.Builder setSubsetSize(com.google.protobuf.UInt32Value.Builder builderForValue)
       subset_size indicates how many backends every client will be connected to.
       The value must be greater than 0.
       
      .google.protobuf.UInt32Value subset_size = 1 [(.validate.rules) = { ... }
    • mergeSubsetSize

      public RandomSubsetting.Builder mergeSubsetSize(com.google.protobuf.UInt32Value value)
       subset_size indicates how many backends every client will be connected to.
       The value must be greater than 0.
       
      .google.protobuf.UInt32Value subset_size = 1 [(.validate.rules) = { ... }
    • clearSubsetSize

      public RandomSubsetting.Builder clearSubsetSize()
       subset_size indicates how many backends every client will be connected to.
       The value must be greater than 0.
       
      .google.protobuf.UInt32Value subset_size = 1 [(.validate.rules) = { ... }
    • getSubsetSizeBuilder

      public com.google.protobuf.UInt32Value.Builder getSubsetSizeBuilder()
       subset_size indicates how many backends every client will be connected to.
       The value must be greater than 0.
       
      .google.protobuf.UInt32Value subset_size = 1 [(.validate.rules) = { ... }
    • getSubsetSizeOrBuilder

      public com.google.protobuf.UInt32ValueOrBuilder getSubsetSizeOrBuilder()
       subset_size indicates how many backends every client will be connected to.
       The value must be greater than 0.
       
      .google.protobuf.UInt32Value subset_size = 1 [(.validate.rules) = { ... }
      Specified by:
      getSubsetSizeOrBuilder in interface RandomSubsettingOrBuilder
    • hasChildPolicy

      public boolean hasChildPolicy()
       The config for the child policy.
       The value is required.
       
      .envoy.config.cluster.v3.LoadBalancingPolicy child_policy = 2 [(.validate.rules) = { ... }
      Specified by:
      hasChildPolicy in interface RandomSubsettingOrBuilder
      Returns:
      Whether the childPolicy field is set.
    • getChildPolicy

      public LoadBalancingPolicy getChildPolicy()
       The config for the child policy.
       The value is required.
       
      .envoy.config.cluster.v3.LoadBalancingPolicy child_policy = 2 [(.validate.rules) = { ... }
      Specified by:
      getChildPolicy in interface RandomSubsettingOrBuilder
      Returns:
      The childPolicy.
    • setChildPolicy

      public RandomSubsetting.Builder setChildPolicy(LoadBalancingPolicy value)
       The config for the child policy.
       The value is required.
       
      .envoy.config.cluster.v3.LoadBalancingPolicy child_policy = 2 [(.validate.rules) = { ... }
    • setChildPolicy

      public RandomSubsetting.Builder setChildPolicy(LoadBalancingPolicy.Builder builderForValue)
       The config for the child policy.
       The value is required.
       
      .envoy.config.cluster.v3.LoadBalancingPolicy child_policy = 2 [(.validate.rules) = { ... }
    • mergeChildPolicy

      public RandomSubsetting.Builder mergeChildPolicy(LoadBalancingPolicy value)
       The config for the child policy.
       The value is required.
       
      .envoy.config.cluster.v3.LoadBalancingPolicy child_policy = 2 [(.validate.rules) = { ... }
    • clearChildPolicy

      public RandomSubsetting.Builder clearChildPolicy()
       The config for the child policy.
       The value is required.
       
      .envoy.config.cluster.v3.LoadBalancingPolicy child_policy = 2 [(.validate.rules) = { ... }
    • getChildPolicyBuilder

      public LoadBalancingPolicy.Builder getChildPolicyBuilder()
       The config for the child policy.
       The value is required.
       
      .envoy.config.cluster.v3.LoadBalancingPolicy child_policy = 2 [(.validate.rules) = { ... }
    • getChildPolicyOrBuilder

      public LoadBalancingPolicyOrBuilder getChildPolicyOrBuilder()
       The config for the child policy.
       The value is required.
       
      .envoy.config.cluster.v3.LoadBalancingPolicy child_policy = 2 [(.validate.rules) = { ... }
      Specified by:
      getChildPolicyOrBuilder in interface RandomSubsettingOrBuilder
    • setUnknownFields

      public final RandomSubsetting.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
      Specified by:
      setUnknownFields in interface com.google.protobuf.Message.Builder
      Overrides:
      setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<RandomSubsetting.Builder>
    • mergeUnknownFields

      public final RandomSubsetting.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
      Specified by:
      mergeUnknownFields in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<RandomSubsetting.Builder>