Class Cluster.LeastRequestLbConfig

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cluster.LeastRequestLbConfigOrBuilder, java.io.Serializable
    Enclosing class:
    Cluster

    public static final class Cluster.LeastRequestLbConfig
    extends com.google.protobuf.GeneratedMessage
    implements Cluster.LeastRequestLbConfigOrBuilder
     Specific configuration for the LeastRequest load balancing policy.
     
    Protobuf type envoy.config.cluster.v3.Cluster.LeastRequestLbConfig
    See Also:
    Serialized Form
    • Constructor Detail

      • LeastRequestLbConfig

        private LeastRequestLbConfig​(com.google.protobuf.GeneratedMessage.Builder<?> builder)
      • LeastRequestLbConfig

        private LeastRequestLbConfig()
    • Method Detail

      • getDescriptor

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

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage
      • 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 Cluster.LeastRequestLbConfigOrBuilder
        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 Cluster.LeastRequestLbConfigOrBuilder
        Returns:
        The choiceCount.
      • 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 Cluster.LeastRequestLbConfigOrBuilder
      • 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 Cluster.LeastRequestLbConfigOrBuilder
        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 Cluster.LeastRequestLbConfigOrBuilder
        Returns:
        The activeRequestBias.
      • 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 Cluster.LeastRequestLbConfigOrBuilder
      • 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 Cluster.LeastRequestLbConfigOrBuilder
        Returns:
        Whether the slowStartConfig field is set.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessage
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws java.io.IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessage
        Throws:
        java.io.IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessage
      • equals

        public boolean equals​(java.lang.Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static Cluster.LeastRequestLbConfig parseFrom​(java.nio.ByteBuffer data)
                                                      throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Cluster.LeastRequestLbConfig parseFrom​(java.nio.ByteBuffer data,
                                                             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                      throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Cluster.LeastRequestLbConfig parseFrom​(com.google.protobuf.ByteString data)
                                                      throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Cluster.LeastRequestLbConfig parseFrom​(com.google.protobuf.ByteString data,
                                                             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                      throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Cluster.LeastRequestLbConfig parseFrom​(byte[] data)
                                                      throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Cluster.LeastRequestLbConfig parseFrom​(byte[] data,
                                                             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                      throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Cluster.LeastRequestLbConfig parseFrom​(java.io.InputStream input)
                                                      throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static Cluster.LeastRequestLbConfig parseFrom​(java.io.InputStream input,
                                                             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                      throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static Cluster.LeastRequestLbConfig parseDelimitedFrom​(java.io.InputStream input)
                                                               throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static Cluster.LeastRequestLbConfig parseDelimitedFrom​(java.io.InputStream input,
                                                                      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                               throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static Cluster.LeastRequestLbConfig parseFrom​(com.google.protobuf.CodedInputStream input)
                                                      throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static Cluster.LeastRequestLbConfig parseFrom​(com.google.protobuf.CodedInputStream input,
                                                             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                      throws java.io.IOException
        Throws:
        java.io.IOException
      • newBuilderForType

        public Cluster.LeastRequestLbConfig.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public Cluster.LeastRequestLbConfig.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected Cluster.LeastRequestLbConfig.Builder newBuilderForType​(com.google.protobuf.AbstractMessage.BuilderParent parent)
        Overrides:
        newBuilderForType in class com.google.protobuf.AbstractMessage
      • getParserForType

        public com.google.protobuf.Parser<Cluster.LeastRequestLbConfig> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessage
      • getDefaultInstanceForType

        public Cluster.LeastRequestLbConfig getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder