Class AIMDScalingStrategy
- java.lang.Object
-
- org.apache.flink.connector.base.sink.writer.strategy.AIMDScalingStrategy
-
- All Implemented Interfaces:
ScalingStrategy<Integer>
@PublicEvolving public class AIMDScalingStrategy extends Object implements ScalingStrategy<Integer>
AIMDScalingStrategy scales up linearly and scales down multiplicatively. See https://en.wikipedia.org/wiki/Additive_increase/multiplicative_decrease for more details
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAIMDScalingStrategy.AIMDScalingStrategyBuilderBuilder forAIMDScalingStrategy.
-
Constructor Summary
Constructors Constructor Description AIMDScalingStrategy(int increaseRate, double decreaseFactor, int rateThreshold)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static AIMDScalingStrategy.AIMDScalingStrategyBuilderbuilder(int rateThreshold)IntegerscaleDown(Integer currentRate)Returns the scaled down value.IntegerscaleUp(Integer currentRate)Returns the scaled up value.
-
-
-
Method Detail
-
scaleUp
public Integer scaleUp(Integer currentRate)
Description copied from interface:ScalingStrategyReturns the scaled up value.- Specified by:
scaleUpin interfaceScalingStrategy<Integer>- Parameters:
currentRate- currentValue
-
scaleDown
public Integer scaleDown(Integer currentRate)
Description copied from interface:ScalingStrategyReturns the scaled down value.- Specified by:
scaleDownin interfaceScalingStrategy<Integer>- Parameters:
currentRate- currentValue
-
builder
@PublicEvolving public static AIMDScalingStrategy.AIMDScalingStrategyBuilder builder(int rateThreshold)
-
-