Versions in this module Expand all Collapse all v0 v0.5.0 Mar 30, 2026 v0.4.1 Mar 28, 2026 Changes in this version + func ApplyJitter(delay time.Duration, jitter float64, rng *rand.Rand) time.Duration + func CalculateDelay(strategy Strategy, attempt int, initialDelay, maxDelay time.Duration, ...) time.Duration + type Config struct + InitialDelay time.Duration + Jitter float64 + MaxAttempts int + MaxDelay time.Duration + Multiplier float64 + RetryableExitCodes []int + Strategy Strategy + type Logger interface + Debug func(msg string, keysAndValues ...any) + Info func(msg string, keysAndValues ...any) + type Retryer struct + func NewRetryer(config *Config, logger Logger, seed int64) *Retryer + func (r *Retryer) IsRetryableExitCode(exitCode int) bool + func (r *Retryer) NextDelay(attempt int) time.Duration + func (r *Retryer) ShouldRetry(exitCode, attempt int) bool + func (r *Retryer) Wait(ctx context.Context, attempt int) error + type Strategy string + const StrategyConstant + const StrategyExponential + const StrategyLinear + func (s Strategy) Valid() bool