Class SlowStartConfig.Builder

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

    public static final class SlowStartConfig.Builder
    extends com.google.protobuf.GeneratedMessage.Builder<SlowStartConfig.Builder>
    implements SlowStartConfigOrBuilder
     Configuration for :ref:`slow start mode <arch_overview_load_balancing_slow_start>`.
     
    Protobuf type envoy.extensions.load_balancing_policies.common.v3.SlowStartConfig
    • Field Detail

      • bitField0_

        private int bitField0_
      • slowStartWindow_

        private com.google.protobuf.Duration slowStartWindow_
      • slowStartWindowBuilder_

        private com.google.protobuf.SingleFieldBuilder<com.google.protobuf.Duration,​com.google.protobuf.Duration.Builder,​com.google.protobuf.DurationOrBuilder> slowStartWindowBuilder_
      • minWeightPercent_

        private Percent minWeightPercent_
    • 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<SlowStartConfig.Builder>
      • maybeForceBuilderInitialization

        private void maybeForceBuilderInitialization()
      • clear

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

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

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

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

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

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

        public SlowStartConfig.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<SlowStartConfig.Builder>
        Throws:
        java.io.IOException
      • hasSlowStartWindow

        public boolean hasSlowStartWindow()
         Represents the size of slow start window.
         If set, the newly created host remains in slow start mode starting from its creation time
         for the duration of slow start window.
         
        .google.protobuf.Duration slow_start_window = 1;
        Specified by:
        hasSlowStartWindow in interface SlowStartConfigOrBuilder
        Returns:
        Whether the slowStartWindow field is set.
      • getSlowStartWindow

        public com.google.protobuf.Duration getSlowStartWindow()
         Represents the size of slow start window.
         If set, the newly created host remains in slow start mode starting from its creation time
         for the duration of slow start window.
         
        .google.protobuf.Duration slow_start_window = 1;
        Specified by:
        getSlowStartWindow in interface SlowStartConfigOrBuilder
        Returns:
        The slowStartWindow.
      • setSlowStartWindow

        public SlowStartConfig.Builder setSlowStartWindow​(com.google.protobuf.Duration value)
         Represents the size of slow start window.
         If set, the newly created host remains in slow start mode starting from its creation time
         for the duration of slow start window.
         
        .google.protobuf.Duration slow_start_window = 1;
      • setSlowStartWindow

        public SlowStartConfig.Builder setSlowStartWindow​(com.google.protobuf.Duration.Builder builderForValue)
         Represents the size of slow start window.
         If set, the newly created host remains in slow start mode starting from its creation time
         for the duration of slow start window.
         
        .google.protobuf.Duration slow_start_window = 1;
      • mergeSlowStartWindow

        public SlowStartConfig.Builder mergeSlowStartWindow​(com.google.protobuf.Duration value)
         Represents the size of slow start window.
         If set, the newly created host remains in slow start mode starting from its creation time
         for the duration of slow start window.
         
        .google.protobuf.Duration slow_start_window = 1;
      • clearSlowStartWindow

        public SlowStartConfig.Builder clearSlowStartWindow()
         Represents the size of slow start window.
         If set, the newly created host remains in slow start mode starting from its creation time
         for the duration of slow start window.
         
        .google.protobuf.Duration slow_start_window = 1;
      • getSlowStartWindowBuilder

        public com.google.protobuf.Duration.Builder getSlowStartWindowBuilder()
         Represents the size of slow start window.
         If set, the newly created host remains in slow start mode starting from its creation time
         for the duration of slow start window.
         
        .google.protobuf.Duration slow_start_window = 1;
      • getSlowStartWindowOrBuilder

        public com.google.protobuf.DurationOrBuilder getSlowStartWindowOrBuilder()
         Represents the size of slow start window.
         If set, the newly created host remains in slow start mode starting from its creation time
         for the duration of slow start window.
         
        .google.protobuf.Duration slow_start_window = 1;
        Specified by:
        getSlowStartWindowOrBuilder in interface SlowStartConfigOrBuilder
      • getSlowStartWindowFieldBuilder

        private com.google.protobuf.SingleFieldBuilder<com.google.protobuf.Duration,​com.google.protobuf.Duration.Builder,​com.google.protobuf.DurationOrBuilder> getSlowStartWindowFieldBuilder()
         Represents the size of slow start window.
         If set, the newly created host remains in slow start mode starting from its creation time
         for the duration of slow start window.
         
        .google.protobuf.Duration slow_start_window = 1;
      • hasAggression

        public boolean hasAggression()
         This parameter controls the speed of traffic increase over the slow start window. Defaults to 1.0,
         so that endpoint would get linearly increasing amount of traffic.
         When increasing the value for this parameter, the speed of traffic ramp-up increases non-linearly.
         The value of aggression parameter should be greater than 0.0.
         By tuning the parameter, is possible to achieve polynomial or exponential shape of ramp-up curve.
        
         During slow start window, effective weight of an endpoint would be scaled with time factor and aggression:
         ``new_weight = weight * max(min_weight_percent, time_factor ^ (1 / aggression))``,
         where ``time_factor=(time_since_start_seconds / slow_start_time_seconds)``.
        
         As time progresses, more and more traffic would be sent to endpoint, which is in slow start window.
         Once host exits slow start, time_factor and aggression no longer affect its weight.
         
        .envoy.config.core.v3.RuntimeDouble aggression = 2;
        Specified by:
        hasAggression in interface SlowStartConfigOrBuilder
        Returns:
        Whether the aggression field is set.
      • getAggression

        public RuntimeDouble getAggression()
         This parameter controls the speed of traffic increase over the slow start window. Defaults to 1.0,
         so that endpoint would get linearly increasing amount of traffic.
         When increasing the value for this parameter, the speed of traffic ramp-up increases non-linearly.
         The value of aggression parameter should be greater than 0.0.
         By tuning the parameter, is possible to achieve polynomial or exponential shape of ramp-up curve.
        
         During slow start window, effective weight of an endpoint would be scaled with time factor and aggression:
         ``new_weight = weight * max(min_weight_percent, time_factor ^ (1 / aggression))``,
         where ``time_factor=(time_since_start_seconds / slow_start_time_seconds)``.
        
         As time progresses, more and more traffic would be sent to endpoint, which is in slow start window.
         Once host exits slow start, time_factor and aggression no longer affect its weight.
         
        .envoy.config.core.v3.RuntimeDouble aggression = 2;
        Specified by:
        getAggression in interface SlowStartConfigOrBuilder
        Returns:
        The aggression.
      • setAggression

        public SlowStartConfig.Builder setAggression​(RuntimeDouble value)
         This parameter controls the speed of traffic increase over the slow start window. Defaults to 1.0,
         so that endpoint would get linearly increasing amount of traffic.
         When increasing the value for this parameter, the speed of traffic ramp-up increases non-linearly.
         The value of aggression parameter should be greater than 0.0.
         By tuning the parameter, is possible to achieve polynomial or exponential shape of ramp-up curve.
        
         During slow start window, effective weight of an endpoint would be scaled with time factor and aggression:
         ``new_weight = weight * max(min_weight_percent, time_factor ^ (1 / aggression))``,
         where ``time_factor=(time_since_start_seconds / slow_start_time_seconds)``.
        
         As time progresses, more and more traffic would be sent to endpoint, which is in slow start window.
         Once host exits slow start, time_factor and aggression no longer affect its weight.
         
        .envoy.config.core.v3.RuntimeDouble aggression = 2;
      • setAggression

        public SlowStartConfig.Builder setAggression​(RuntimeDouble.Builder builderForValue)
         This parameter controls the speed of traffic increase over the slow start window. Defaults to 1.0,
         so that endpoint would get linearly increasing amount of traffic.
         When increasing the value for this parameter, the speed of traffic ramp-up increases non-linearly.
         The value of aggression parameter should be greater than 0.0.
         By tuning the parameter, is possible to achieve polynomial or exponential shape of ramp-up curve.
        
         During slow start window, effective weight of an endpoint would be scaled with time factor and aggression:
         ``new_weight = weight * max(min_weight_percent, time_factor ^ (1 / aggression))``,
         where ``time_factor=(time_since_start_seconds / slow_start_time_seconds)``.
        
         As time progresses, more and more traffic would be sent to endpoint, which is in slow start window.
         Once host exits slow start, time_factor and aggression no longer affect its weight.
         
        .envoy.config.core.v3.RuntimeDouble aggression = 2;
      • mergeAggression

        public SlowStartConfig.Builder mergeAggression​(RuntimeDouble value)
         This parameter controls the speed of traffic increase over the slow start window. Defaults to 1.0,
         so that endpoint would get linearly increasing amount of traffic.
         When increasing the value for this parameter, the speed of traffic ramp-up increases non-linearly.
         The value of aggression parameter should be greater than 0.0.
         By tuning the parameter, is possible to achieve polynomial or exponential shape of ramp-up curve.
        
         During slow start window, effective weight of an endpoint would be scaled with time factor and aggression:
         ``new_weight = weight * max(min_weight_percent, time_factor ^ (1 / aggression))``,
         where ``time_factor=(time_since_start_seconds / slow_start_time_seconds)``.
        
         As time progresses, more and more traffic would be sent to endpoint, which is in slow start window.
         Once host exits slow start, time_factor and aggression no longer affect its weight.
         
        .envoy.config.core.v3.RuntimeDouble aggression = 2;
      • clearAggression

        public SlowStartConfig.Builder clearAggression()
         This parameter controls the speed of traffic increase over the slow start window. Defaults to 1.0,
         so that endpoint would get linearly increasing amount of traffic.
         When increasing the value for this parameter, the speed of traffic ramp-up increases non-linearly.
         The value of aggression parameter should be greater than 0.0.
         By tuning the parameter, is possible to achieve polynomial or exponential shape of ramp-up curve.
        
         During slow start window, effective weight of an endpoint would be scaled with time factor and aggression:
         ``new_weight = weight * max(min_weight_percent, time_factor ^ (1 / aggression))``,
         where ``time_factor=(time_since_start_seconds / slow_start_time_seconds)``.
        
         As time progresses, more and more traffic would be sent to endpoint, which is in slow start window.
         Once host exits slow start, time_factor and aggression no longer affect its weight.
         
        .envoy.config.core.v3.RuntimeDouble aggression = 2;
      • getAggressionBuilder

        public RuntimeDouble.Builder getAggressionBuilder()
         This parameter controls the speed of traffic increase over the slow start window. Defaults to 1.0,
         so that endpoint would get linearly increasing amount of traffic.
         When increasing the value for this parameter, the speed of traffic ramp-up increases non-linearly.
         The value of aggression parameter should be greater than 0.0.
         By tuning the parameter, is possible to achieve polynomial or exponential shape of ramp-up curve.
        
         During slow start window, effective weight of an endpoint would be scaled with time factor and aggression:
         ``new_weight = weight * max(min_weight_percent, time_factor ^ (1 / aggression))``,
         where ``time_factor=(time_since_start_seconds / slow_start_time_seconds)``.
        
         As time progresses, more and more traffic would be sent to endpoint, which is in slow start window.
         Once host exits slow start, time_factor and aggression no longer affect its weight.
         
        .envoy.config.core.v3.RuntimeDouble aggression = 2;
      • getAggressionOrBuilder

        public RuntimeDoubleOrBuilder getAggressionOrBuilder()
         This parameter controls the speed of traffic increase over the slow start window. Defaults to 1.0,
         so that endpoint would get linearly increasing amount of traffic.
         When increasing the value for this parameter, the speed of traffic ramp-up increases non-linearly.
         The value of aggression parameter should be greater than 0.0.
         By tuning the parameter, is possible to achieve polynomial or exponential shape of ramp-up curve.
        
         During slow start window, effective weight of an endpoint would be scaled with time factor and aggression:
         ``new_weight = weight * max(min_weight_percent, time_factor ^ (1 / aggression))``,
         where ``time_factor=(time_since_start_seconds / slow_start_time_seconds)``.
        
         As time progresses, more and more traffic would be sent to endpoint, which is in slow start window.
         Once host exits slow start, time_factor and aggression no longer affect its weight.
         
        .envoy.config.core.v3.RuntimeDouble aggression = 2;
        Specified by:
        getAggressionOrBuilder in interface SlowStartConfigOrBuilder
      • getAggressionFieldBuilder

        private com.google.protobuf.SingleFieldBuilder<RuntimeDouble,​RuntimeDouble.Builder,​RuntimeDoubleOrBuilder> getAggressionFieldBuilder()
         This parameter controls the speed of traffic increase over the slow start window. Defaults to 1.0,
         so that endpoint would get linearly increasing amount of traffic.
         When increasing the value for this parameter, the speed of traffic ramp-up increases non-linearly.
         The value of aggression parameter should be greater than 0.0.
         By tuning the parameter, is possible to achieve polynomial or exponential shape of ramp-up curve.
        
         During slow start window, effective weight of an endpoint would be scaled with time factor and aggression:
         ``new_weight = weight * max(min_weight_percent, time_factor ^ (1 / aggression))``,
         where ``time_factor=(time_since_start_seconds / slow_start_time_seconds)``.
        
         As time progresses, more and more traffic would be sent to endpoint, which is in slow start window.
         Once host exits slow start, time_factor and aggression no longer affect its weight.
         
        .envoy.config.core.v3.RuntimeDouble aggression = 2;
      • hasMinWeightPercent

        public boolean hasMinWeightPercent()
         Configures the minimum percentage of origin weight that avoids too small new weight,
         which may cause endpoints in slow start mode receive no traffic in slow start window.
         If not specified, the default is 10%.
         
        .envoy.type.v3.Percent min_weight_percent = 3;
        Specified by:
        hasMinWeightPercent in interface SlowStartConfigOrBuilder
        Returns:
        Whether the minWeightPercent field is set.
      • getMinWeightPercent

        public Percent getMinWeightPercent()
         Configures the minimum percentage of origin weight that avoids too small new weight,
         which may cause endpoints in slow start mode receive no traffic in slow start window.
         If not specified, the default is 10%.
         
        .envoy.type.v3.Percent min_weight_percent = 3;
        Specified by:
        getMinWeightPercent in interface SlowStartConfigOrBuilder
        Returns:
        The minWeightPercent.
      • setMinWeightPercent

        public SlowStartConfig.Builder setMinWeightPercent​(Percent value)
         Configures the minimum percentage of origin weight that avoids too small new weight,
         which may cause endpoints in slow start mode receive no traffic in slow start window.
         If not specified, the default is 10%.
         
        .envoy.type.v3.Percent min_weight_percent = 3;
      • setMinWeightPercent

        public SlowStartConfig.Builder setMinWeightPercent​(Percent.Builder builderForValue)
         Configures the minimum percentage of origin weight that avoids too small new weight,
         which may cause endpoints in slow start mode receive no traffic in slow start window.
         If not specified, the default is 10%.
         
        .envoy.type.v3.Percent min_weight_percent = 3;
      • mergeMinWeightPercent

        public SlowStartConfig.Builder mergeMinWeightPercent​(Percent value)
         Configures the minimum percentage of origin weight that avoids too small new weight,
         which may cause endpoints in slow start mode receive no traffic in slow start window.
         If not specified, the default is 10%.
         
        .envoy.type.v3.Percent min_weight_percent = 3;
      • clearMinWeightPercent

        public SlowStartConfig.Builder clearMinWeightPercent()
         Configures the minimum percentage of origin weight that avoids too small new weight,
         which may cause endpoints in slow start mode receive no traffic in slow start window.
         If not specified, the default is 10%.
         
        .envoy.type.v3.Percent min_weight_percent = 3;
      • getMinWeightPercentBuilder

        public Percent.Builder getMinWeightPercentBuilder()
         Configures the minimum percentage of origin weight that avoids too small new weight,
         which may cause endpoints in slow start mode receive no traffic in slow start window.
         If not specified, the default is 10%.
         
        .envoy.type.v3.Percent min_weight_percent = 3;
      • getMinWeightPercentOrBuilder

        public PercentOrBuilder getMinWeightPercentOrBuilder()
         Configures the minimum percentage of origin weight that avoids too small new weight,
         which may cause endpoints in slow start mode receive no traffic in slow start window.
         If not specified, the default is 10%.
         
        .envoy.type.v3.Percent min_weight_percent = 3;
        Specified by:
        getMinWeightPercentOrBuilder in interface SlowStartConfigOrBuilder
      • getMinWeightPercentFieldBuilder

        private com.google.protobuf.SingleFieldBuilder<Percent,​Percent.Builder,​PercentOrBuilder> getMinWeightPercentFieldBuilder()
         Configures the minimum percentage of origin weight that avoids too small new weight,
         which may cause endpoints in slow start mode receive no traffic in slow start window.
         If not specified, the default is 10%.
         
        .envoy.type.v3.Percent min_weight_percent = 3;