java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<SlowStartConfig.Builder>
com.google.protobuf.GeneratedMessage.Builder<SlowStartConfig.Builder>
io.envoyproxy.envoy.extensions.load_balancing_policies.common.v3.SlowStartConfig.Builder
All Implemented Interfaces:
com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, SlowStartConfigOrBuilder, 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 Details

    • 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_
    • aggression_

      private RuntimeDouble aggression_
    • aggressionBuilder_

      private com.google.protobuf.SingleFieldBuilder<RuntimeDouble,RuntimeDouble.Builder,RuntimeDoubleOrBuilder> aggressionBuilder_
    • minWeightPercent_

      private Percent minWeightPercent_
    • minWeightPercentBuilder_

      private com.google.protobuf.SingleFieldBuilder<Percent,Percent.Builder,PercentOrBuilder> minWeightPercentBuilder_
  • Constructor Details

    • Builder

      private Builder()
    • Builder

      private Builder(com.google.protobuf.AbstractMessage.BuilderParent parent)
  • Method Details

    • 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
    • buildPartial0

      private void buildPartial0(SlowStartConfig result)
    • 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>
    • mergeFrom

      public SlowStartConfig.Builder mergeFrom(SlowStartConfig other)
    • 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 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:
      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
    • internalGetSlowStartWindowFieldBuilder

      private com.google.protobuf.SingleFieldBuilder<com.google.protobuf.Duration,com.google.protobuf.Duration.Builder,com.google.protobuf.DurationOrBuilder> internalGetSlowStartWindowFieldBuilder()
       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
    • internalGetAggressionFieldBuilder

      private com.google.protobuf.SingleFieldBuilder<RuntimeDouble,RuntimeDouble.Builder,RuntimeDoubleOrBuilder> internalGetAggressionFieldBuilder()
       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
    • internalGetMinWeightPercentFieldBuilder

      private com.google.protobuf.SingleFieldBuilder<Percent,Percent.Builder,PercentOrBuilder> internalGetMinWeightPercentFieldBuilder()
       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;