Class SlowStartConfig

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, SlowStartConfigOrBuilder, java.io.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:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  SlowStartConfig.Builder
      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 extends java.lang.Object>, 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
    • Constructor Summary

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

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object obj)  
      RuntimeDouble getAggression()
      This parameter controls the speed of traffic increase over the slow start window.
      RuntimeDoubleOrBuilder getAggressionOrBuilder()
      This parameter controls the speed of traffic increase over the slow start window.
      static SlowStartConfig getDefaultInstance()  
      SlowStartConfig getDefaultInstanceForType()  
      static com.google.protobuf.Descriptors.Descriptor getDescriptor()  
      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.
      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.
      com.google.protobuf.Parser<SlowStartConfig> getParserForType()  
      int getSerializedSize()  
      com.google.protobuf.Duration getSlowStartWindow()
      Represents the size of slow start window.
      com.google.protobuf.DurationOrBuilder getSlowStartWindowOrBuilder()
      Represents the size of slow start window.
      boolean hasAggression()
      This parameter controls the speed of traffic increase over the slow start window.
      int hashCode()  
      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.
      boolean hasSlowStartWindow()
      Represents the size of slow start window.
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()  
      boolean isInitialized()  
      static SlowStartConfig.Builder newBuilder()  
      static SlowStartConfig.Builder newBuilder​(SlowStartConfig prototype)  
      SlowStartConfig.Builder newBuilderForType()  
      protected SlowStartConfig.Builder newBuilderForType​(com.google.protobuf.AbstractMessage.BuilderParent parent)  
      static SlowStartConfig parseDelimitedFrom​(java.io.InputStream input)  
      static SlowStartConfig parseDelimitedFrom​(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static SlowStartConfig parseFrom​(byte[] data)  
      static SlowStartConfig parseFrom​(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static SlowStartConfig parseFrom​(com.google.protobuf.ByteString data)  
      static SlowStartConfig parseFrom​(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static SlowStartConfig parseFrom​(com.google.protobuf.CodedInputStream input)  
      static SlowStartConfig parseFrom​(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static SlowStartConfig parseFrom​(java.io.InputStream input)  
      static SlowStartConfig parseFrom​(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static SlowStartConfig parseFrom​(java.nio.ByteBuffer data)  
      static SlowStartConfig parseFrom​(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static com.google.protobuf.Parser<SlowStartConfig> parser()  
      SlowStartConfig.Builder toBuilder()  
      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 Detail

      • bitField0_

        private int bitField0_
      • SLOW_START_WINDOW_FIELD_NUMBER

        public static final int SLOW_START_WINDOW_FIELD_NUMBER
        See Also:
        Constant Field Values
      • slowStartWindow_

        private com.google.protobuf.Duration slowStartWindow_
      • AGGRESSION_FIELD_NUMBER

        public static final int AGGRESSION_FIELD_NUMBER
        See Also:
        Constant Field Values
      • MIN_WEIGHT_PERCENT_FIELD_NUMBER

        public static final int MIN_WEIGHT_PERCENT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • minWeightPercent_

        private Percent minWeightPercent_
      • memoizedIsInitialized

        private byte memoizedIsInitialized
      • PARSER

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

      • SlowStartConfig

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

        private SlowStartConfig()
    • 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
      • 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 java.io.IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessage
        Throws:
        java.io.IOException
      • getSerializedSize

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

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

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

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

        public static SlowStartConfig parseFrom​(java.nio.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​(java.io.InputStream input)
                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

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

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

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

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

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

        public SlowStartConfig.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • 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
      • 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