java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
io.envoyproxy.envoy.extensions.load_balancing_policies.common.v3.SlowStartConfig
All Implemented Interfaces:
com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, SlowStartConfigOrBuilder, Serializable

public final class SlowStartConfig extends com.google.protobuf.GeneratedMessage implements SlowStartConfigOrBuilder
 Configuration for :ref:`slow start mode <arch_overview_load_balancing_slow_start>`.
 
Protobuf type envoy.extensions.load_balancing_policies.common.v3.SlowStartConfig
See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static final class 
    Configuration for :ref:`slow start mode <arch_overview_load_balancing_slow_start>`.

    Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessage

    com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>,BuilderT extends com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT,BuilderT>>, com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.FieldAccessorTable, com.google.protobuf.GeneratedMessage.GeneratedExtension<ContainingT extends com.google.protobuf.Message,T>, com.google.protobuf.GeneratedMessage.UnusedPrivateParameter

    Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessage

    com.google.protobuf.AbstractMessage.BuilderParent

    Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

    com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
     
    static final int
     
    private int
     
    private static final SlowStartConfig
     
    private byte
     
    static final int
     
    private Percent
     
    private static final com.google.protobuf.Parser<SlowStartConfig>
     
    private static final long
     
    static final int
     
    private com.google.protobuf.Duration
     

    Fields inherited from class com.google.protobuf.GeneratedMessage

    alwaysUseFieldBuilders, unknownFields

    Fields inherited from class com.google.protobuf.AbstractMessage

    memoizedSize

    Fields inherited from class com.google.protobuf.AbstractMessageLite

    memoizedHashCode
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    private
     
    private
    SlowStartConfig(com.google.protobuf.GeneratedMessage.Builder<?> builder)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
     
    This parameter controls the speed of traffic increase over the slow start window.
    This parameter controls the speed of traffic increase over the slow start window.
     
     
    static final com.google.protobuf.Descriptors.Descriptor
     
    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.
    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.
    com.google.protobuf.Parser<SlowStartConfig>
     
    int
     
    com.google.protobuf.Duration
    Represents the size of slow start window.
    com.google.protobuf.DurationOrBuilder
    Represents the size of slow start window.
    boolean
    This parameter controls the speed of traffic increase over the slow start window.
    int
     
    boolean
    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.
    boolean
    Represents the size of slow start window.
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
     
    final boolean
     
     
     
     
    newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
     
     
    parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    parseFrom(byte[] data)
     
    parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    parseFrom(com.google.protobuf.ByteString data)
     
    parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    parseFrom(com.google.protobuf.CodedInputStream input)
     
    parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
     
    parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
     
    parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    static com.google.protobuf.Parser<SlowStartConfig>
     
     
    void
    writeTo(com.google.protobuf.CodedOutputStream output)
     

    Methods inherited from class com.google.protobuf.GeneratedMessage

    canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeMutableCopy, makeMutableCopy, mergeFromAndMakeImmutableInternal, newFileScopedGeneratedExtension, newInstance, newMessageScopedGeneratedExtension, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTag

    Methods inherited from class com.google.protobuf.AbstractMessage

    findInitializationErrors, getInitializationErrorString, hashFields, toString

    Methods inherited from class com.google.protobuf.AbstractMessageLite

    addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface com.google.protobuf.MessageLite

    toByteArray, toByteString, writeDelimitedTo, writeTo

    Methods inherited from interface com.google.protobuf.MessageOrBuilder

    findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • bitField0_

      private int bitField0_
    • SLOW_START_WINDOW_FIELD_NUMBER

      public static final int SLOW_START_WINDOW_FIELD_NUMBER
      See Also:
    • slowStartWindow_

      private com.google.protobuf.Duration slowStartWindow_
    • AGGRESSION_FIELD_NUMBER

      public static final int AGGRESSION_FIELD_NUMBER
      See Also:
    • aggression_

      private RuntimeDouble aggression_
    • MIN_WEIGHT_PERCENT_FIELD_NUMBER

      public static final int MIN_WEIGHT_PERCENT_FIELD_NUMBER
      See Also:
    • minWeightPercent_

      private Percent minWeightPercent_
    • memoizedIsInitialized

      private byte memoizedIsInitialized
    • DEFAULT_INSTANCE

      private static final SlowStartConfig DEFAULT_INSTANCE
    • PARSER

      private static final com.google.protobuf.Parser<SlowStartConfig> PARSER
  • Constructor Details

    • SlowStartConfig

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

      private SlowStartConfig()
  • 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
    • 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.
    • 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
    • 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.
    • 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
    • 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.
    • 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
    • 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 IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessage
      Throws:
      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(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 SlowStartConfig parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static SlowStartConfig parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

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

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

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

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

      public static SlowStartConfig parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static SlowStartConfig parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static SlowStartConfig parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static SlowStartConfig parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static SlowStartConfig parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static SlowStartConfig parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

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

      public static SlowStartConfig.Builder newBuilder()
    • newBuilder

      public static SlowStartConfig.Builder newBuilder(SlowStartConfig prototype)
    • toBuilder

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

      protected SlowStartConfig.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
      Overrides:
      newBuilderForType in class com.google.protobuf.AbstractMessage
    • getDefaultInstance

      public static SlowStartConfig getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<SlowStartConfig> parser()
    • getParserForType

      public com.google.protobuf.Parser<SlowStartConfig> 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 SlowStartConfig getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder