Record Class BackoffStrategy.Exponential
java.lang.Object
java.lang.Record
cloud.opencode.base.core.retry.BackoffStrategy.Exponential
- Record Components:
initialDelay- the initial delay - 初始延迟multiplier- the multiplier (must be >= 1.0) - 乘数(必须 >= 1.0)
- All Implemented Interfaces:
BackoffStrategy
- Enclosing interface:
BackoffStrategy
public static record BackoffStrategy.Exponential(Duration initialDelay, double multiplier)
extends Record
implements BackoffStrategy
Exponential backoff - delay grows by a multiplier each attempt.
指数退避 - 延迟按乘数逐次增长。
- Since:
- JDK 25, opencode-base-core V1.0.3
- Author:
- Leon Soo www.LeonSoo.com
-
Nested Class Summary
Nested classes/interfaces inherited from interface BackoffStrategy
BackoffStrategy.Exponential, BackoffStrategy.ExponentialWithJitter, BackoffStrategy.Fibonacci, BackoffStrategy.Fixed -
Constructor Summary
ConstructorsConstructorDescriptionExponential(Duration initialDelay, double multiplier) Creates an instance of aExponentialrecord class. -
Method Summary
Modifier and TypeMethodDescriptiondelay(int attempt) Calculate the delay for the given attempt number.final booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.Returns the value of theinitialDelayrecord component.doubleReturns the value of themultiplierrecord component.final StringtoString()Returns a string representation of this record class.
-
Constructor Details
-
Exponential
Creates an instance of aExponentialrecord class.- Parameters:
initialDelay- the value for theinitialDelayrecord componentmultiplier- the value for themultiplierrecord component
-
-
Method Details
-
delay
Description copied from interface:BackoffStrategyCalculate the delay for the given attempt number. 计算给定重试次数的延迟。- Specified by:
delayin interfaceBackoffStrategy- Parameters:
attempt- attempt number, starting from 1 - 重试次数,从1开始- Returns:
- the delay duration - 延迟时长
-
toString
-
hashCode
-
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared withObjects::equals(Object,Object); primitive components are compared with thecomparemethod from their corresponding wrapper classes. -
initialDelay
Returns the value of theinitialDelayrecord component.- Returns:
- the value of the
initialDelayrecord component
-
multiplier
public double multiplier()Returns the value of themultiplierrecord component.- Returns:
- the value of the
multiplierrecord component
-