Documentation
¶
Index ¶
- func Retry(ctx context.Context, f func() (any, error), opts ...func(*RetryConfig)) (any, error)
- func WithInitialInterval(interval time.Duration) func(*RetryConfig)
- func WithMaxAttempts(attempts int) func(*RetryConfig)
- func WithMaxElapsedTime(duration time.Duration) func(*RetryConfig)
- func WithMaxInterval(interval time.Duration) func(*RetryConfig)
- func WithMultiplier(multiplier float64) func(*RetryConfig)
- func WrapError(err error) error
- type RetryConfig
- type RetryError
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Retry ¶
Retry executes the provided function with retry logic based on the configuration. It stops on success, unrecoverable errors, context cancellation, or exceeding the retry limits.
func WithInitialInterval ¶
func WithInitialInterval(interval time.Duration) func(*RetryConfig)
WithInitialInterval sets the initial interval between retries.
func WithMaxAttempts ¶
func WithMaxAttempts(attempts int) func(*RetryConfig)
WithMaxAttempts sets the maximum number of retry attempts.
func WithMaxElapsedTime ¶
func WithMaxElapsedTime(duration time.Duration) func(*RetryConfig)
WithMaxElapsedTime sets the maximum time allowed for retries.
func WithMaxInterval ¶
func WithMaxInterval(interval time.Duration) func(*RetryConfig)
WithMaxInterval sets the maximum interval between retries.
func WithMultiplier ¶
func WithMultiplier(multiplier float64) func(*RetryConfig)
WithMultiplier sets the backoff multiplier for exponential backoff.
Types ¶
type RetryConfig ¶
type RetryConfig struct { MaxAttempts int InitialInterval time.Duration MaxInterval time.Duration Multiplier float64 MaxElapsedTime time.Duration }
func DefaultRetryConfig ¶
func DefaultRetryConfig() *RetryConfig
type RetryError ¶
type RetryError struct {
Err error
}
func (RetryError) Error ¶
func (r RetryError) Error() string
func (RetryError) ShouldRetry ¶
func (r RetryError) ShouldRetry() bool
Click to show internal directories.
Click to hide internal directories.