Versions in this module Expand all Collapse all v1 v1.0.1 Feb 7, 2026 Changes in this version type Retrier + func NoRetry() Retrier v1.0.0 Feb 3, 2026 Changes in this version + func Do(ctx context.Context, maxAttempts int, f AttemptFunc) error + func IsUnretryable(err error) bool + type AttemptFunc func(int) error + type Backoff interface + Next func(attempt int) time.Duration + type ExponentialBackoff struct + Base time.Duration + Factor float64 + Jitter float64 + Max time.Duration + func (e ExponentialBackoff) Next(attempt int) time.Duration + type FixedBackoff struct + Interval time.Duration + Jitter float64 + func (f FixedBackoff) Next(attempt int) time.Duration + type IsRetryableFunc func(error) bool + type LinearBackoff struct + Base time.Duration + Jitter float64 + Max time.Duration + Step time.Duration + func (l LinearBackoff) Next(attempt int) time.Duration + type Retrier interface + Do func(context.Context, AttemptFunc) error + func New(opts ...RetryOption) Retrier + type RetryOption func(*retrier) + func WithBackoff(backoff Backoff) RetryOption + func WithIsRetryableFunc(isRetryable IsRetryableFunc) RetryOption + func WithMaxAttempts(maxAttempts int) RetryOption + type UnretryableError struct + func (e *UnretryableError) Error() string + func (e *UnretryableError) Unwrap() error