Class Blended
- java.lang.Object
-
- software.amazon.cloudformation.proxy.delay.Blended
-
- All Implemented Interfaces:
Delay
public class Blended extends Object implements Delay
Provides blended delay of seconds for each attempt until all delays in the order start to returnDuration.ZERO. This is useful to model blends in the delays where on can be quick for the first set of delays usingConstantand then becomeMultipleOforExponentialthereafter.final Delay delay = Blended.of() .add( Constant.of().delay(Duration.ofSeconds(5)) .timeout(Duration.ofSeconds(20)).build()) .add(ShiftByMultipleOf.shiftedOf() .delay(Duration.ofSeconds(5)).timeout(Duration.ofSeconds(220)) .build()) .build();The above delay provides the following set of 5, 10, 15, 20, 40, 90, 150, 220
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classBlended.BlendedBuilder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description DurationnextDelay(int attempt)Returns the new delay amount to stabilize as defined byDurationtime.static Blended.BlendedBuilderof()
-
-
-
Method Detail
-
of
public static Blended.BlendedBuilder of()
-
nextDelay
public Duration nextDelay(int attempt)
Description copied from interface:DelayReturns the new delay amount to stabilize as defined byDurationtime. This returns -1 to indicate that we are done with delays from this instance Different implementations can return different values- Specified by:
nextDelayin interfaceDelay- Parameters:
attempt- , starts with 1- Returns:
- the next amount to wait for or
Duration.ZEROto indicate delay is complete
-
-