Class ClientSideWeightedRoundRobin.Builder

  • All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, ClientSideWeightedRoundRobinOrBuilder, java.lang.Cloneable
    Enclosing class:
    ClientSideWeightedRoundRobin

    public static final class ClientSideWeightedRoundRobin.Builder
    extends com.google.protobuf.GeneratedMessage.Builder<ClientSideWeightedRoundRobin.Builder>
    implements ClientSideWeightedRoundRobinOrBuilder
     Configuration for the client_side_weighted_round_robin LB policy.
    
     This policy differs from the built-in ROUND_ROBIN policy in terms of
     how the endpoint weights are determined. In the ROUND_ROBIN policy,
     the endpoint weights are sent by the control plane via EDS. However,
     in this policy, the endpoint weights are instead determined via qps (queries
     per second), eps (errors per second), and utilization metrics sent by the
     endpoint using the Open Request Cost Aggregation (ORCA) protocol. Utilization
     is determined by using the ORCA application_utilization field, if set, or
     else falling back to the cpu_utilization field. All queries count toward qps,
     regardless of result. Only failed queries count toward eps. A config
     parameter error_utilization_penalty controls the penalty to adjust endpoint
     weights using eps and qps. The weight of a given endpoint is computed as:
     qps / (utilization + eps/qps * error_utilization_penalty)
    
     See the :ref:`load balancing architecture overview<arch_overview_load_balancing_types>` for more information.
    
     [#next-free-field: 7]
     
    Protobuf type envoy.extensions.load_balancing_policies.client_side_weighted_round_robin.v3.ClientSideWeightedRoundRobin
    • Field Detail

      • bitField0_

        private int bitField0_
      • enableOobLoadReport_

        private com.google.protobuf.BoolValue enableOobLoadReport_
      • enableOobLoadReportBuilder_

        private com.google.protobuf.SingleFieldBuilder<com.google.protobuf.BoolValue,​com.google.protobuf.BoolValue.Builder,​com.google.protobuf.BoolValueOrBuilder> enableOobLoadReportBuilder_
      • oobReportingPeriod_

        private com.google.protobuf.Duration oobReportingPeriod_
      • oobReportingPeriodBuilder_

        private com.google.protobuf.SingleFieldBuilder<com.google.protobuf.Duration,​com.google.protobuf.Duration.Builder,​com.google.protobuf.DurationOrBuilder> oobReportingPeriodBuilder_
      • blackoutPeriod_

        private com.google.protobuf.Duration blackoutPeriod_
      • blackoutPeriodBuilder_

        private com.google.protobuf.SingleFieldBuilder<com.google.protobuf.Duration,​com.google.protobuf.Duration.Builder,​com.google.protobuf.DurationOrBuilder> blackoutPeriodBuilder_
      • weightExpirationPeriod_

        private com.google.protobuf.Duration weightExpirationPeriod_
      • weightExpirationPeriodBuilder_

        private com.google.protobuf.SingleFieldBuilder<com.google.protobuf.Duration,​com.google.protobuf.Duration.Builder,​com.google.protobuf.DurationOrBuilder> weightExpirationPeriodBuilder_
      • weightUpdatePeriod_

        private com.google.protobuf.Duration weightUpdatePeriod_
      • weightUpdatePeriodBuilder_

        private com.google.protobuf.SingleFieldBuilder<com.google.protobuf.Duration,​com.google.protobuf.Duration.Builder,​com.google.protobuf.DurationOrBuilder> weightUpdatePeriodBuilder_
      • errorUtilizationPenalty_

        private com.google.protobuf.FloatValue errorUtilizationPenalty_
      • errorUtilizationPenaltyBuilder_

        private com.google.protobuf.SingleFieldBuilder<com.google.protobuf.FloatValue,​com.google.protobuf.FloatValue.Builder,​com.google.protobuf.FloatValueOrBuilder> errorUtilizationPenaltyBuilder_
    • Constructor Detail

      • Builder

        private Builder()
      • Builder

        private Builder​(com.google.protobuf.AbstractMessage.BuilderParent parent)
    • 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.Builder<ClientSideWeightedRoundRobin.Builder>
      • maybeForceBuilderInitialization

        private void maybeForceBuilderInitialization()
      • 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.GeneratedMessage.Builder<ClientSideWeightedRoundRobin.Builder>
      • getDefaultInstanceForType

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

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

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

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

        public ClientSideWeightedRoundRobin.Builder mergeFrom​(com.google.protobuf.CodedInputStream input,
                                                              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                       throws java.io.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<ClientSideWeightedRoundRobin.Builder>
        Throws:
        java.io.IOException
      • hasEnableOobLoadReport

        public boolean hasEnableOobLoadReport()
         Whether to enable out-of-band utilization reporting collection from
         the endpoints. By default, per-request utilization reporting is used.
         
        .google.protobuf.BoolValue enable_oob_load_report = 1;
        Specified by:
        hasEnableOobLoadReport in interface ClientSideWeightedRoundRobinOrBuilder
        Returns:
        Whether the enableOobLoadReport field is set.
      • getEnableOobLoadReport

        public com.google.protobuf.BoolValue getEnableOobLoadReport()
         Whether to enable out-of-band utilization reporting collection from
         the endpoints. By default, per-request utilization reporting is used.
         
        .google.protobuf.BoolValue enable_oob_load_report = 1;
        Specified by:
        getEnableOobLoadReport in interface ClientSideWeightedRoundRobinOrBuilder
        Returns:
        The enableOobLoadReport.
      • setEnableOobLoadReport

        public ClientSideWeightedRoundRobin.Builder setEnableOobLoadReport​(com.google.protobuf.BoolValue value)
         Whether to enable out-of-band utilization reporting collection from
         the endpoints. By default, per-request utilization reporting is used.
         
        .google.protobuf.BoolValue enable_oob_load_report = 1;
      • setEnableOobLoadReport

        public ClientSideWeightedRoundRobin.Builder setEnableOobLoadReport​(com.google.protobuf.BoolValue.Builder builderForValue)
         Whether to enable out-of-band utilization reporting collection from
         the endpoints. By default, per-request utilization reporting is used.
         
        .google.protobuf.BoolValue enable_oob_load_report = 1;
      • mergeEnableOobLoadReport

        public ClientSideWeightedRoundRobin.Builder mergeEnableOobLoadReport​(com.google.protobuf.BoolValue value)
         Whether to enable out-of-band utilization reporting collection from
         the endpoints. By default, per-request utilization reporting is used.
         
        .google.protobuf.BoolValue enable_oob_load_report = 1;
      • clearEnableOobLoadReport

        public ClientSideWeightedRoundRobin.Builder clearEnableOobLoadReport()
         Whether to enable out-of-band utilization reporting collection from
         the endpoints. By default, per-request utilization reporting is used.
         
        .google.protobuf.BoolValue enable_oob_load_report = 1;
      • getEnableOobLoadReportBuilder

        public com.google.protobuf.BoolValue.Builder getEnableOobLoadReportBuilder()
         Whether to enable out-of-band utilization reporting collection from
         the endpoints. By default, per-request utilization reporting is used.
         
        .google.protobuf.BoolValue enable_oob_load_report = 1;
      • getEnableOobLoadReportOrBuilder

        public com.google.protobuf.BoolValueOrBuilder getEnableOobLoadReportOrBuilder()
         Whether to enable out-of-band utilization reporting collection from
         the endpoints. By default, per-request utilization reporting is used.
         
        .google.protobuf.BoolValue enable_oob_load_report = 1;
        Specified by:
        getEnableOobLoadReportOrBuilder in interface ClientSideWeightedRoundRobinOrBuilder
      • getEnableOobLoadReportFieldBuilder

        private com.google.protobuf.SingleFieldBuilder<com.google.protobuf.BoolValue,​com.google.protobuf.BoolValue.Builder,​com.google.protobuf.BoolValueOrBuilder> getEnableOobLoadReportFieldBuilder()
         Whether to enable out-of-band utilization reporting collection from
         the endpoints. By default, per-request utilization reporting is used.
         
        .google.protobuf.BoolValue enable_oob_load_report = 1;
      • hasOobReportingPeriod

        public boolean hasOobReportingPeriod()
         Load reporting interval to request from the server. Note that the
         server may not provide reports as frequently as the client requests.
         Used only when enable_oob_load_report is true. Default is 10 seconds.
         
        .google.protobuf.Duration oob_reporting_period = 2;
        Specified by:
        hasOobReportingPeriod in interface ClientSideWeightedRoundRobinOrBuilder
        Returns:
        Whether the oobReportingPeriod field is set.
      • getOobReportingPeriod

        public com.google.protobuf.Duration getOobReportingPeriod()
         Load reporting interval to request from the server. Note that the
         server may not provide reports as frequently as the client requests.
         Used only when enable_oob_load_report is true. Default is 10 seconds.
         
        .google.protobuf.Duration oob_reporting_period = 2;
        Specified by:
        getOobReportingPeriod in interface ClientSideWeightedRoundRobinOrBuilder
        Returns:
        The oobReportingPeriod.
      • setOobReportingPeriod

        public ClientSideWeightedRoundRobin.Builder setOobReportingPeriod​(com.google.protobuf.Duration value)
         Load reporting interval to request from the server. Note that the
         server may not provide reports as frequently as the client requests.
         Used only when enable_oob_load_report is true. Default is 10 seconds.
         
        .google.protobuf.Duration oob_reporting_period = 2;
      • setOobReportingPeriod

        public ClientSideWeightedRoundRobin.Builder setOobReportingPeriod​(com.google.protobuf.Duration.Builder builderForValue)
         Load reporting interval to request from the server. Note that the
         server may not provide reports as frequently as the client requests.
         Used only when enable_oob_load_report is true. Default is 10 seconds.
         
        .google.protobuf.Duration oob_reporting_period = 2;
      • mergeOobReportingPeriod

        public ClientSideWeightedRoundRobin.Builder mergeOobReportingPeriod​(com.google.protobuf.Duration value)
         Load reporting interval to request from the server. Note that the
         server may not provide reports as frequently as the client requests.
         Used only when enable_oob_load_report is true. Default is 10 seconds.
         
        .google.protobuf.Duration oob_reporting_period = 2;
      • clearOobReportingPeriod

        public ClientSideWeightedRoundRobin.Builder clearOobReportingPeriod()
         Load reporting interval to request from the server. Note that the
         server may not provide reports as frequently as the client requests.
         Used only when enable_oob_load_report is true. Default is 10 seconds.
         
        .google.protobuf.Duration oob_reporting_period = 2;
      • getOobReportingPeriodBuilder

        public com.google.protobuf.Duration.Builder getOobReportingPeriodBuilder()
         Load reporting interval to request from the server. Note that the
         server may not provide reports as frequently as the client requests.
         Used only when enable_oob_load_report is true. Default is 10 seconds.
         
        .google.protobuf.Duration oob_reporting_period = 2;
      • getOobReportingPeriodOrBuilder

        public com.google.protobuf.DurationOrBuilder getOobReportingPeriodOrBuilder()
         Load reporting interval to request from the server. Note that the
         server may not provide reports as frequently as the client requests.
         Used only when enable_oob_load_report is true. Default is 10 seconds.
         
        .google.protobuf.Duration oob_reporting_period = 2;
        Specified by:
        getOobReportingPeriodOrBuilder in interface ClientSideWeightedRoundRobinOrBuilder
      • getOobReportingPeriodFieldBuilder

        private com.google.protobuf.SingleFieldBuilder<com.google.protobuf.Duration,​com.google.protobuf.Duration.Builder,​com.google.protobuf.DurationOrBuilder> getOobReportingPeriodFieldBuilder()
         Load reporting interval to request from the server. Note that the
         server may not provide reports as frequently as the client requests.
         Used only when enable_oob_load_report is true. Default is 10 seconds.
         
        .google.protobuf.Duration oob_reporting_period = 2;
      • hasBlackoutPeriod

        public boolean hasBlackoutPeriod()
         A given endpoint must report load metrics continuously for at least
         this long before the endpoint weight will be used. This avoids
         churn when the set of endpoint addresses changes. Takes effect
         both immediately after we establish a connection to an endpoint and
         after weight_expiration_period has caused us to stop using the most
         recent load metrics. Default is 10 seconds.
         
        .google.protobuf.Duration blackout_period = 3;
        Specified by:
        hasBlackoutPeriod in interface ClientSideWeightedRoundRobinOrBuilder
        Returns:
        Whether the blackoutPeriod field is set.
      • getBlackoutPeriod

        public com.google.protobuf.Duration getBlackoutPeriod()
         A given endpoint must report load metrics continuously for at least
         this long before the endpoint weight will be used. This avoids
         churn when the set of endpoint addresses changes. Takes effect
         both immediately after we establish a connection to an endpoint and
         after weight_expiration_period has caused us to stop using the most
         recent load metrics. Default is 10 seconds.
         
        .google.protobuf.Duration blackout_period = 3;
        Specified by:
        getBlackoutPeriod in interface ClientSideWeightedRoundRobinOrBuilder
        Returns:
        The blackoutPeriod.
      • setBlackoutPeriod

        public ClientSideWeightedRoundRobin.Builder setBlackoutPeriod​(com.google.protobuf.Duration value)
         A given endpoint must report load metrics continuously for at least
         this long before the endpoint weight will be used. This avoids
         churn when the set of endpoint addresses changes. Takes effect
         both immediately after we establish a connection to an endpoint and
         after weight_expiration_period has caused us to stop using the most
         recent load metrics. Default is 10 seconds.
         
        .google.protobuf.Duration blackout_period = 3;
      • setBlackoutPeriod

        public ClientSideWeightedRoundRobin.Builder setBlackoutPeriod​(com.google.protobuf.Duration.Builder builderForValue)
         A given endpoint must report load metrics continuously for at least
         this long before the endpoint weight will be used. This avoids
         churn when the set of endpoint addresses changes. Takes effect
         both immediately after we establish a connection to an endpoint and
         after weight_expiration_period has caused us to stop using the most
         recent load metrics. Default is 10 seconds.
         
        .google.protobuf.Duration blackout_period = 3;
      • mergeBlackoutPeriod

        public ClientSideWeightedRoundRobin.Builder mergeBlackoutPeriod​(com.google.protobuf.Duration value)
         A given endpoint must report load metrics continuously for at least
         this long before the endpoint weight will be used. This avoids
         churn when the set of endpoint addresses changes. Takes effect
         both immediately after we establish a connection to an endpoint and
         after weight_expiration_period has caused us to stop using the most
         recent load metrics. Default is 10 seconds.
         
        .google.protobuf.Duration blackout_period = 3;
      • clearBlackoutPeriod

        public ClientSideWeightedRoundRobin.Builder clearBlackoutPeriod()
         A given endpoint must report load metrics continuously for at least
         this long before the endpoint weight will be used. This avoids
         churn when the set of endpoint addresses changes. Takes effect
         both immediately after we establish a connection to an endpoint and
         after weight_expiration_period has caused us to stop using the most
         recent load metrics. Default is 10 seconds.
         
        .google.protobuf.Duration blackout_period = 3;
      • getBlackoutPeriodBuilder

        public com.google.protobuf.Duration.Builder getBlackoutPeriodBuilder()
         A given endpoint must report load metrics continuously for at least
         this long before the endpoint weight will be used. This avoids
         churn when the set of endpoint addresses changes. Takes effect
         both immediately after we establish a connection to an endpoint and
         after weight_expiration_period has caused us to stop using the most
         recent load metrics. Default is 10 seconds.
         
        .google.protobuf.Duration blackout_period = 3;
      • getBlackoutPeriodOrBuilder

        public com.google.protobuf.DurationOrBuilder getBlackoutPeriodOrBuilder()
         A given endpoint must report load metrics continuously for at least
         this long before the endpoint weight will be used. This avoids
         churn when the set of endpoint addresses changes. Takes effect
         both immediately after we establish a connection to an endpoint and
         after weight_expiration_period has caused us to stop using the most
         recent load metrics. Default is 10 seconds.
         
        .google.protobuf.Duration blackout_period = 3;
        Specified by:
        getBlackoutPeriodOrBuilder in interface ClientSideWeightedRoundRobinOrBuilder
      • getBlackoutPeriodFieldBuilder

        private com.google.protobuf.SingleFieldBuilder<com.google.protobuf.Duration,​com.google.protobuf.Duration.Builder,​com.google.protobuf.DurationOrBuilder> getBlackoutPeriodFieldBuilder()
         A given endpoint must report load metrics continuously for at least
         this long before the endpoint weight will be used. This avoids
         churn when the set of endpoint addresses changes. Takes effect
         both immediately after we establish a connection to an endpoint and
         after weight_expiration_period has caused us to stop using the most
         recent load metrics. Default is 10 seconds.
         
        .google.protobuf.Duration blackout_period = 3;
      • hasWeightExpirationPeriod

        public boolean hasWeightExpirationPeriod()
         If a given endpoint has not reported load metrics in this long,
         then we stop using the reported weight. This ensures that we do
         not continue to use very stale weights. Once we stop using a stale
         value, if we later start seeing fresh reports again, the
         blackout_period applies. Defaults to 3 minutes.
         
        .google.protobuf.Duration weight_expiration_period = 4;
        Specified by:
        hasWeightExpirationPeriod in interface ClientSideWeightedRoundRobinOrBuilder
        Returns:
        Whether the weightExpirationPeriod field is set.
      • getWeightExpirationPeriod

        public com.google.protobuf.Duration getWeightExpirationPeriod()
         If a given endpoint has not reported load metrics in this long,
         then we stop using the reported weight. This ensures that we do
         not continue to use very stale weights. Once we stop using a stale
         value, if we later start seeing fresh reports again, the
         blackout_period applies. Defaults to 3 minutes.
         
        .google.protobuf.Duration weight_expiration_period = 4;
        Specified by:
        getWeightExpirationPeriod in interface ClientSideWeightedRoundRobinOrBuilder
        Returns:
        The weightExpirationPeriod.
      • setWeightExpirationPeriod

        public ClientSideWeightedRoundRobin.Builder setWeightExpirationPeriod​(com.google.protobuf.Duration value)
         If a given endpoint has not reported load metrics in this long,
         then we stop using the reported weight. This ensures that we do
         not continue to use very stale weights. Once we stop using a stale
         value, if we later start seeing fresh reports again, the
         blackout_period applies. Defaults to 3 minutes.
         
        .google.protobuf.Duration weight_expiration_period = 4;
      • setWeightExpirationPeriod

        public ClientSideWeightedRoundRobin.Builder setWeightExpirationPeriod​(com.google.protobuf.Duration.Builder builderForValue)
         If a given endpoint has not reported load metrics in this long,
         then we stop using the reported weight. This ensures that we do
         not continue to use very stale weights. Once we stop using a stale
         value, if we later start seeing fresh reports again, the
         blackout_period applies. Defaults to 3 minutes.
         
        .google.protobuf.Duration weight_expiration_period = 4;
      • mergeWeightExpirationPeriod

        public ClientSideWeightedRoundRobin.Builder mergeWeightExpirationPeriod​(com.google.protobuf.Duration value)
         If a given endpoint has not reported load metrics in this long,
         then we stop using the reported weight. This ensures that we do
         not continue to use very stale weights. Once we stop using a stale
         value, if we later start seeing fresh reports again, the
         blackout_period applies. Defaults to 3 minutes.
         
        .google.protobuf.Duration weight_expiration_period = 4;
      • clearWeightExpirationPeriod

        public ClientSideWeightedRoundRobin.Builder clearWeightExpirationPeriod()
         If a given endpoint has not reported load metrics in this long,
         then we stop using the reported weight. This ensures that we do
         not continue to use very stale weights. Once we stop using a stale
         value, if we later start seeing fresh reports again, the
         blackout_period applies. Defaults to 3 minutes.
         
        .google.protobuf.Duration weight_expiration_period = 4;
      • getWeightExpirationPeriodBuilder

        public com.google.protobuf.Duration.Builder getWeightExpirationPeriodBuilder()
         If a given endpoint has not reported load metrics in this long,
         then we stop using the reported weight. This ensures that we do
         not continue to use very stale weights. Once we stop using a stale
         value, if we later start seeing fresh reports again, the
         blackout_period applies. Defaults to 3 minutes.
         
        .google.protobuf.Duration weight_expiration_period = 4;
      • getWeightExpirationPeriodOrBuilder

        public com.google.protobuf.DurationOrBuilder getWeightExpirationPeriodOrBuilder()
         If a given endpoint has not reported load metrics in this long,
         then we stop using the reported weight. This ensures that we do
         not continue to use very stale weights. Once we stop using a stale
         value, if we later start seeing fresh reports again, the
         blackout_period applies. Defaults to 3 minutes.
         
        .google.protobuf.Duration weight_expiration_period = 4;
        Specified by:
        getWeightExpirationPeriodOrBuilder in interface ClientSideWeightedRoundRobinOrBuilder
      • getWeightExpirationPeriodFieldBuilder

        private com.google.protobuf.SingleFieldBuilder<com.google.protobuf.Duration,​com.google.protobuf.Duration.Builder,​com.google.protobuf.DurationOrBuilder> getWeightExpirationPeriodFieldBuilder()
         If a given endpoint has not reported load metrics in this long,
         then we stop using the reported weight. This ensures that we do
         not continue to use very stale weights. Once we stop using a stale
         value, if we later start seeing fresh reports again, the
         blackout_period applies. Defaults to 3 minutes.
         
        .google.protobuf.Duration weight_expiration_period = 4;
      • hasWeightUpdatePeriod

        public boolean hasWeightUpdatePeriod()
         How often endpoint weights are recalculated. Values less than 100ms are
         capped at 100ms. Default is 1 second.
         
        .google.protobuf.Duration weight_update_period = 5;
        Specified by:
        hasWeightUpdatePeriod in interface ClientSideWeightedRoundRobinOrBuilder
        Returns:
        Whether the weightUpdatePeriod field is set.
      • getWeightUpdatePeriod

        public com.google.protobuf.Duration getWeightUpdatePeriod()
         How often endpoint weights are recalculated. Values less than 100ms are
         capped at 100ms. Default is 1 second.
         
        .google.protobuf.Duration weight_update_period = 5;
        Specified by:
        getWeightUpdatePeriod in interface ClientSideWeightedRoundRobinOrBuilder
        Returns:
        The weightUpdatePeriod.
      • setWeightUpdatePeriod

        public ClientSideWeightedRoundRobin.Builder setWeightUpdatePeriod​(com.google.protobuf.Duration value)
         How often endpoint weights are recalculated. Values less than 100ms are
         capped at 100ms. Default is 1 second.
         
        .google.protobuf.Duration weight_update_period = 5;
      • setWeightUpdatePeriod

        public ClientSideWeightedRoundRobin.Builder setWeightUpdatePeriod​(com.google.protobuf.Duration.Builder builderForValue)
         How often endpoint weights are recalculated. Values less than 100ms are
         capped at 100ms. Default is 1 second.
         
        .google.protobuf.Duration weight_update_period = 5;
      • mergeWeightUpdatePeriod

        public ClientSideWeightedRoundRobin.Builder mergeWeightUpdatePeriod​(com.google.protobuf.Duration value)
         How often endpoint weights are recalculated. Values less than 100ms are
         capped at 100ms. Default is 1 second.
         
        .google.protobuf.Duration weight_update_period = 5;
      • clearWeightUpdatePeriod

        public ClientSideWeightedRoundRobin.Builder clearWeightUpdatePeriod()
         How often endpoint weights are recalculated. Values less than 100ms are
         capped at 100ms. Default is 1 second.
         
        .google.protobuf.Duration weight_update_period = 5;
      • getWeightUpdatePeriodBuilder

        public com.google.protobuf.Duration.Builder getWeightUpdatePeriodBuilder()
         How often endpoint weights are recalculated. Values less than 100ms are
         capped at 100ms. Default is 1 second.
         
        .google.protobuf.Duration weight_update_period = 5;
      • getWeightUpdatePeriodOrBuilder

        public com.google.protobuf.DurationOrBuilder getWeightUpdatePeriodOrBuilder()
         How often endpoint weights are recalculated. Values less than 100ms are
         capped at 100ms. Default is 1 second.
         
        .google.protobuf.Duration weight_update_period = 5;
        Specified by:
        getWeightUpdatePeriodOrBuilder in interface ClientSideWeightedRoundRobinOrBuilder
      • getWeightUpdatePeriodFieldBuilder

        private com.google.protobuf.SingleFieldBuilder<com.google.protobuf.Duration,​com.google.protobuf.Duration.Builder,​com.google.protobuf.DurationOrBuilder> getWeightUpdatePeriodFieldBuilder()
         How often endpoint weights are recalculated. Values less than 100ms are
         capped at 100ms. Default is 1 second.
         
        .google.protobuf.Duration weight_update_period = 5;
      • hasErrorUtilizationPenalty

        public boolean hasErrorUtilizationPenalty()
         The multiplier used to adjust endpoint weights with the error rate
         calculated as eps/qps. Configuration is rejected if this value is negative.
         Default is 1.0.
         
        .google.protobuf.FloatValue error_utilization_penalty = 6 [(.validate.rules) = { ... }
        Specified by:
        hasErrorUtilizationPenalty in interface ClientSideWeightedRoundRobinOrBuilder
        Returns:
        Whether the errorUtilizationPenalty field is set.
      • getErrorUtilizationPenalty

        public com.google.protobuf.FloatValue getErrorUtilizationPenalty()
         The multiplier used to adjust endpoint weights with the error rate
         calculated as eps/qps. Configuration is rejected if this value is negative.
         Default is 1.0.
         
        .google.protobuf.FloatValue error_utilization_penalty = 6 [(.validate.rules) = { ... }
        Specified by:
        getErrorUtilizationPenalty in interface ClientSideWeightedRoundRobinOrBuilder
        Returns:
        The errorUtilizationPenalty.
      • setErrorUtilizationPenalty

        public ClientSideWeightedRoundRobin.Builder setErrorUtilizationPenalty​(com.google.protobuf.FloatValue value)
         The multiplier used to adjust endpoint weights with the error rate
         calculated as eps/qps. Configuration is rejected if this value is negative.
         Default is 1.0.
         
        .google.protobuf.FloatValue error_utilization_penalty = 6 [(.validate.rules) = { ... }
      • setErrorUtilizationPenalty

        public ClientSideWeightedRoundRobin.Builder setErrorUtilizationPenalty​(com.google.protobuf.FloatValue.Builder builderForValue)
         The multiplier used to adjust endpoint weights with the error rate
         calculated as eps/qps. Configuration is rejected if this value is negative.
         Default is 1.0.
         
        .google.protobuf.FloatValue error_utilization_penalty = 6 [(.validate.rules) = { ... }
      • mergeErrorUtilizationPenalty

        public ClientSideWeightedRoundRobin.Builder mergeErrorUtilizationPenalty​(com.google.protobuf.FloatValue value)
         The multiplier used to adjust endpoint weights with the error rate
         calculated as eps/qps. Configuration is rejected if this value is negative.
         Default is 1.0.
         
        .google.protobuf.FloatValue error_utilization_penalty = 6 [(.validate.rules) = { ... }
      • clearErrorUtilizationPenalty

        public ClientSideWeightedRoundRobin.Builder clearErrorUtilizationPenalty()
         The multiplier used to adjust endpoint weights with the error rate
         calculated as eps/qps. Configuration is rejected if this value is negative.
         Default is 1.0.
         
        .google.protobuf.FloatValue error_utilization_penalty = 6 [(.validate.rules) = { ... }
      • getErrorUtilizationPenaltyBuilder

        public com.google.protobuf.FloatValue.Builder getErrorUtilizationPenaltyBuilder()
         The multiplier used to adjust endpoint weights with the error rate
         calculated as eps/qps. Configuration is rejected if this value is negative.
         Default is 1.0.
         
        .google.protobuf.FloatValue error_utilization_penalty = 6 [(.validate.rules) = { ... }
      • getErrorUtilizationPenaltyOrBuilder

        public com.google.protobuf.FloatValueOrBuilder getErrorUtilizationPenaltyOrBuilder()
         The multiplier used to adjust endpoint weights with the error rate
         calculated as eps/qps. Configuration is rejected if this value is negative.
         Default is 1.0.
         
        .google.protobuf.FloatValue error_utilization_penalty = 6 [(.validate.rules) = { ... }
        Specified by:
        getErrorUtilizationPenaltyOrBuilder in interface ClientSideWeightedRoundRobinOrBuilder
      • getErrorUtilizationPenaltyFieldBuilder

        private com.google.protobuf.SingleFieldBuilder<com.google.protobuf.FloatValue,​com.google.protobuf.FloatValue.Builder,​com.google.protobuf.FloatValueOrBuilder> getErrorUtilizationPenaltyFieldBuilder()
         The multiplier used to adjust endpoint weights with the error rate
         calculated as eps/qps. Configuration is rejected if this value is negative.
         Default is 1.0.
         
        .google.protobuf.FloatValue error_utilization_penalty = 6 [(.validate.rules) = { ... }