Versions in this module Expand all Collapse all v1 v1.0.1 Sep 16, 2024 v1.0.0 Feb 4, 2022 Changes in this version + const UnlimitedAttempts + func Call(args CallArgs) error + func DoubleDelay(delay time.Duration, attempt int) time.Duration + func ExpBackoff(minDelay, maxDelay time.Duration, exp float64, applyJitter bool) func(time.Duration, int) time.Duration + func IsAttemptsExceeded(err error) bool + func IsDurationExceeded(err error) bool + func IsRetryStopped(err error) bool + func LastError(err error) error + type CallArgs struct + Attempts int + BackoffFunc func(delay time.Duration, attempt int) time.Duration + Clock Clock + Delay time.Duration + Func func() error + IsFatalError func(error) bool + MaxDelay time.Duration + MaxDuration time.Duration + NotifyFunc func(lastError error, attempt int) + Stop <-chan struct{} + func (args *CallArgs) Validate() error + type Clock interface + After func(time.Duration) <-chan time.Time + Now func() time.Time