Class LeastRequest.Builder

  • All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, LeastRequestOrBuilder, Cloneable
    Enclosing class:
    LeastRequest

    public static final class LeastRequest.Builder
    extends com.google.protobuf.GeneratedMessageV3.Builder<LeastRequest.Builder>
    implements LeastRequestOrBuilder
     This configuration allows the built-in LEAST_REQUEST LB policy to be configured via the LB policy
     extension point. See the :ref:`load balancing architecture overview
     <arch_overview_load_balancing_types>` for more information.
     [#extension: envoy.clusters.lb_policy]
     
    Protobuf type envoy.extensions.load_balancing_policies.least_request.v3.LeastRequest
    • Method Detail

      • 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<LeastRequest.Builder>
      • clear

        public LeastRequest.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<LeastRequest.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<LeastRequest.Builder>
      • getDefaultInstanceForType

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

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

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

        public LeastRequest.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<LeastRequest.Builder>
      • setField

        public LeastRequest.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<LeastRequest.Builder>
      • clearField

        public LeastRequest.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<LeastRequest.Builder>
      • clearOneof

        public LeastRequest.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<LeastRequest.Builder>
      • setRepeatedField

        public LeastRequest.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<LeastRequest.Builder>
      • addRepeatedField

        public LeastRequest.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<LeastRequest.Builder>
      • mergeFrom

        public LeastRequest.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<LeastRequest.Builder>
      • isInitialized

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

        public LeastRequest.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<LeastRequest.Builder>
        Throws:
        IOException
      • hasChoiceCount

        public boolean hasChoiceCount()
         The number of random healthy hosts from which the host with the fewest active requests will
         be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
         
        .google.protobuf.UInt32Value choice_count = 1 [(.validate.rules) = { ... }
        Specified by:
        hasChoiceCount in interface LeastRequestOrBuilder
        Returns:
        Whether the choiceCount field is set.
      • getChoiceCount

        public com.google.protobuf.UInt32Value getChoiceCount()
         The number of random healthy hosts from which the host with the fewest active requests will
         be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
         
        .google.protobuf.UInt32Value choice_count = 1 [(.validate.rules) = { ... }
        Specified by:
        getChoiceCount in interface LeastRequestOrBuilder
        Returns:
        The choiceCount.
      • setChoiceCount

        public LeastRequest.Builder setChoiceCount​(com.google.protobuf.UInt32Value value)
         The number of random healthy hosts from which the host with the fewest active requests will
         be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
         
        .google.protobuf.UInt32Value choice_count = 1 [(.validate.rules) = { ... }
      • setChoiceCount

        public LeastRequest.Builder setChoiceCount​(com.google.protobuf.UInt32Value.Builder builderForValue)
         The number of random healthy hosts from which the host with the fewest active requests will
         be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
         
        .google.protobuf.UInt32Value choice_count = 1 [(.validate.rules) = { ... }
      • mergeChoiceCount

        public LeastRequest.Builder mergeChoiceCount​(com.google.protobuf.UInt32Value value)
         The number of random healthy hosts from which the host with the fewest active requests will
         be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
         
        .google.protobuf.UInt32Value choice_count = 1 [(.validate.rules) = { ... }
      • clearChoiceCount

        public LeastRequest.Builder clearChoiceCount()
         The number of random healthy hosts from which the host with the fewest active requests will
         be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
         
        .google.protobuf.UInt32Value choice_count = 1 [(.validate.rules) = { ... }
      • getChoiceCountBuilder

        public com.google.protobuf.UInt32Value.Builder getChoiceCountBuilder()
         The number of random healthy hosts from which the host with the fewest active requests will
         be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
         
        .google.protobuf.UInt32Value choice_count = 1 [(.validate.rules) = { ... }
      • getChoiceCountOrBuilder

        public com.google.protobuf.UInt32ValueOrBuilder getChoiceCountOrBuilder()
         The number of random healthy hosts from which the host with the fewest active requests will
         be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
         
        .google.protobuf.UInt32Value choice_count = 1 [(.validate.rules) = { ... }
        Specified by:
        getChoiceCountOrBuilder in interface LeastRequestOrBuilder
      • hasActiveRequestBias

        public boolean hasActiveRequestBias()
         The following formula is used to calculate the dynamic weights when hosts have different load
         balancing weights:
         `weight = load_balancing_weight / (active_requests + 1)^active_request_bias`
         The larger the active request bias is, the more aggressively active requests will lower the
         effective weight when all host weights are not equal.
         `active_request_bias` must be greater than or equal to 0.0.
         When `active_request_bias == 0.0` the Least Request Load Balancer doesn't consider the number
         of active requests at the time it picks a host and behaves like the Round Robin Load
         Balancer.
         When `active_request_bias > 0.0` the Least Request Load Balancer scales the load balancing
         weight by the number of active requests at the time it does a pick.
         The value is cached for performance reasons and refreshed whenever one of the Load Balancer's
         host sets changes, e.g., whenever there is a host membership update or a host load balancing
         weight change.
         .. note::
           This setting only takes effect if all host weights are not equal.
         
        .envoy.config.core.v3.RuntimeDouble active_request_bias = 2;
        Specified by:
        hasActiveRequestBias in interface LeastRequestOrBuilder
        Returns:
        Whether the activeRequestBias field is set.
      • getActiveRequestBias

        public RuntimeDouble getActiveRequestBias()
         The following formula is used to calculate the dynamic weights when hosts have different load
         balancing weights:
         `weight = load_balancing_weight / (active_requests + 1)^active_request_bias`
         The larger the active request bias is, the more aggressively active requests will lower the
         effective weight when all host weights are not equal.
         `active_request_bias` must be greater than or equal to 0.0.
         When `active_request_bias == 0.0` the Least Request Load Balancer doesn't consider the number
         of active requests at the time it picks a host and behaves like the Round Robin Load
         Balancer.
         When `active_request_bias > 0.0` the Least Request Load Balancer scales the load balancing
         weight by the number of active requests at the time it does a pick.
         The value is cached for performance reasons and refreshed whenever one of the Load Balancer's
         host sets changes, e.g., whenever there is a host membership update or a host load balancing
         weight change.
         .. note::
           This setting only takes effect if all host weights are not equal.
         
        .envoy.config.core.v3.RuntimeDouble active_request_bias = 2;
        Specified by:
        getActiveRequestBias in interface LeastRequestOrBuilder
        Returns:
        The activeRequestBias.
      • setActiveRequestBias

        public LeastRequest.Builder setActiveRequestBias​(RuntimeDouble value)
         The following formula is used to calculate the dynamic weights when hosts have different load
         balancing weights:
         `weight = load_balancing_weight / (active_requests + 1)^active_request_bias`
         The larger the active request bias is, the more aggressively active requests will lower the
         effective weight when all host weights are not equal.
         `active_request_bias` must be greater than or equal to 0.0.
         When `active_request_bias == 0.0` the Least Request Load Balancer doesn't consider the number
         of active requests at the time it picks a host and behaves like the Round Robin Load
         Balancer.
         When `active_request_bias > 0.0` the Least Request Load Balancer scales the load balancing
         weight by the number of active requests at the time it does a pick.
         The value is cached for performance reasons and refreshed whenever one of the Load Balancer's
         host sets changes, e.g., whenever there is a host membership update or a host load balancing
         weight change.
         .. note::
           This setting only takes effect if all host weights are not equal.
         
        .envoy.config.core.v3.RuntimeDouble active_request_bias = 2;
      • setActiveRequestBias

        public LeastRequest.Builder setActiveRequestBias​(RuntimeDouble.Builder builderForValue)
         The following formula is used to calculate the dynamic weights when hosts have different load
         balancing weights:
         `weight = load_balancing_weight / (active_requests + 1)^active_request_bias`
         The larger the active request bias is, the more aggressively active requests will lower the
         effective weight when all host weights are not equal.
         `active_request_bias` must be greater than or equal to 0.0.
         When `active_request_bias == 0.0` the Least Request Load Balancer doesn't consider the number
         of active requests at the time it picks a host and behaves like the Round Robin Load
         Balancer.
         When `active_request_bias > 0.0` the Least Request Load Balancer scales the load balancing
         weight by the number of active requests at the time it does a pick.
         The value is cached for performance reasons and refreshed whenever one of the Load Balancer's
         host sets changes, e.g., whenever there is a host membership update or a host load balancing
         weight change.
         .. note::
           This setting only takes effect if all host weights are not equal.
         
        .envoy.config.core.v3.RuntimeDouble active_request_bias = 2;
      • mergeActiveRequestBias

        public LeastRequest.Builder mergeActiveRequestBias​(RuntimeDouble value)
         The following formula is used to calculate the dynamic weights when hosts have different load
         balancing weights:
         `weight = load_balancing_weight / (active_requests + 1)^active_request_bias`
         The larger the active request bias is, the more aggressively active requests will lower the
         effective weight when all host weights are not equal.
         `active_request_bias` must be greater than or equal to 0.0.
         When `active_request_bias == 0.0` the Least Request Load Balancer doesn't consider the number
         of active requests at the time it picks a host and behaves like the Round Robin Load
         Balancer.
         When `active_request_bias > 0.0` the Least Request Load Balancer scales the load balancing
         weight by the number of active requests at the time it does a pick.
         The value is cached for performance reasons and refreshed whenever one of the Load Balancer's
         host sets changes, e.g., whenever there is a host membership update or a host load balancing
         weight change.
         .. note::
           This setting only takes effect if all host weights are not equal.
         
        .envoy.config.core.v3.RuntimeDouble active_request_bias = 2;
      • clearActiveRequestBias

        public LeastRequest.Builder clearActiveRequestBias()
         The following formula is used to calculate the dynamic weights when hosts have different load
         balancing weights:
         `weight = load_balancing_weight / (active_requests + 1)^active_request_bias`
         The larger the active request bias is, the more aggressively active requests will lower the
         effective weight when all host weights are not equal.
         `active_request_bias` must be greater than or equal to 0.0.
         When `active_request_bias == 0.0` the Least Request Load Balancer doesn't consider the number
         of active requests at the time it picks a host and behaves like the Round Robin Load
         Balancer.
         When `active_request_bias > 0.0` the Least Request Load Balancer scales the load balancing
         weight by the number of active requests at the time it does a pick.
         The value is cached for performance reasons and refreshed whenever one of the Load Balancer's
         host sets changes, e.g., whenever there is a host membership update or a host load balancing
         weight change.
         .. note::
           This setting only takes effect if all host weights are not equal.
         
        .envoy.config.core.v3.RuntimeDouble active_request_bias = 2;
      • getActiveRequestBiasBuilder

        public RuntimeDouble.Builder getActiveRequestBiasBuilder()
         The following formula is used to calculate the dynamic weights when hosts have different load
         balancing weights:
         `weight = load_balancing_weight / (active_requests + 1)^active_request_bias`
         The larger the active request bias is, the more aggressively active requests will lower the
         effective weight when all host weights are not equal.
         `active_request_bias` must be greater than or equal to 0.0.
         When `active_request_bias == 0.0` the Least Request Load Balancer doesn't consider the number
         of active requests at the time it picks a host and behaves like the Round Robin Load
         Balancer.
         When `active_request_bias > 0.0` the Least Request Load Balancer scales the load balancing
         weight by the number of active requests at the time it does a pick.
         The value is cached for performance reasons and refreshed whenever one of the Load Balancer's
         host sets changes, e.g., whenever there is a host membership update or a host load balancing
         weight change.
         .. note::
           This setting only takes effect if all host weights are not equal.
         
        .envoy.config.core.v3.RuntimeDouble active_request_bias = 2;
      • getActiveRequestBiasOrBuilder

        public RuntimeDoubleOrBuilder getActiveRequestBiasOrBuilder()
         The following formula is used to calculate the dynamic weights when hosts have different load
         balancing weights:
         `weight = load_balancing_weight / (active_requests + 1)^active_request_bias`
         The larger the active request bias is, the more aggressively active requests will lower the
         effective weight when all host weights are not equal.
         `active_request_bias` must be greater than or equal to 0.0.
         When `active_request_bias == 0.0` the Least Request Load Balancer doesn't consider the number
         of active requests at the time it picks a host and behaves like the Round Robin Load
         Balancer.
         When `active_request_bias > 0.0` the Least Request Load Balancer scales the load balancing
         weight by the number of active requests at the time it does a pick.
         The value is cached for performance reasons and refreshed whenever one of the Load Balancer's
         host sets changes, e.g., whenever there is a host membership update or a host load balancing
         weight change.
         .. note::
           This setting only takes effect if all host weights are not equal.
         
        .envoy.config.core.v3.RuntimeDouble active_request_bias = 2;
        Specified by:
        getActiveRequestBiasOrBuilder in interface LeastRequestOrBuilder
      • hasSlowStartConfig

        public boolean hasSlowStartConfig()
         Configuration for slow start mode.
         If this configuration is not set, slow start will not be not enabled.
         
        .envoy.config.cluster.v3.Cluster.SlowStartConfig slow_start_config = 3;
        Specified by:
        hasSlowStartConfig in interface LeastRequestOrBuilder
        Returns:
        Whether the slowStartConfig field is set.
      • getSlowStartConfig

        public Cluster.SlowStartConfig getSlowStartConfig()
         Configuration for slow start mode.
         If this configuration is not set, slow start will not be not enabled.
         
        .envoy.config.cluster.v3.Cluster.SlowStartConfig slow_start_config = 3;
        Specified by:
        getSlowStartConfig in interface LeastRequestOrBuilder
        Returns:
        The slowStartConfig.
      • setSlowStartConfig

        public LeastRequest.Builder setSlowStartConfig​(Cluster.SlowStartConfig value)
         Configuration for slow start mode.
         If this configuration is not set, slow start will not be not enabled.
         
        .envoy.config.cluster.v3.Cluster.SlowStartConfig slow_start_config = 3;
      • setSlowStartConfig

        public LeastRequest.Builder setSlowStartConfig​(Cluster.SlowStartConfig.Builder builderForValue)
         Configuration for slow start mode.
         If this configuration is not set, slow start will not be not enabled.
         
        .envoy.config.cluster.v3.Cluster.SlowStartConfig slow_start_config = 3;
      • mergeSlowStartConfig

        public LeastRequest.Builder mergeSlowStartConfig​(Cluster.SlowStartConfig value)
         Configuration for slow start mode.
         If this configuration is not set, slow start will not be not enabled.
         
        .envoy.config.cluster.v3.Cluster.SlowStartConfig slow_start_config = 3;
      • clearSlowStartConfig

        public LeastRequest.Builder clearSlowStartConfig()
         Configuration for slow start mode.
         If this configuration is not set, slow start will not be not enabled.
         
        .envoy.config.cluster.v3.Cluster.SlowStartConfig slow_start_config = 3;
      • getSlowStartConfigBuilder

        public Cluster.SlowStartConfig.Builder getSlowStartConfigBuilder()
         Configuration for slow start mode.
         If this configuration is not set, slow start will not be not enabled.
         
        .envoy.config.cluster.v3.Cluster.SlowStartConfig slow_start_config = 3;
      • setUnknownFields

        public final LeastRequest.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<LeastRequest.Builder>
      • mergeUnknownFields

        public final LeastRequest.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<LeastRequest.Builder>