Versions in this module Expand all Collapse all v1 v1.16.3 Apr 3, 2022 Changes in this version + const DefaultMaxAttempts + const DefaultMaxBackoff + const DefaultNoRetryIncrement + const DefaultRequestCost + const DefaultRetryCost + const DefaultRetryRateTokens + const DefaultRetryTimeoutCost + var DefaultRetryableErrorCodes = map[string]struct + var DefaultRetryableHTTPStatusCodes = map[int]struct + var DefaultRetryables = []IsErrorRetryable + var DefaultThrottleErrorCodes = map[string]struct + var DefaultThrottles = []IsErrorThrottle + var DefaultTimeouts = []IsErrorTimeout + func AddRetryMiddlewares(stack *smithymiddle.Stack, options AddRetryMiddlewaresOptions) error + func AddWithErrorCodes(r aws.Retryer, codes ...string) aws.Retryer + func AddWithMaxAttempts(r aws.Retryer, max int) aws.Retryer + func AddWithMaxBackoffDelay(r aws.Retryer, delay time.Duration) aws.Retryer + type AdaptiveMode struct + func NewAdaptiveMode(optFns ...func(*AdaptiveModeOptions)) *AdaptiveMode + func (a *AdaptiveMode) GetAttemptToken(ctx context.Context) (func(error) error, error) + func (a *AdaptiveMode) GetInitialToken() (releaseToken func(error) error) + func (a *AdaptiveMode) GetRetryToken(ctx context.Context, opErr error) (releaseToken func(error) error, err error) + func (a *AdaptiveMode) IsErrorRetryable(err error) bool + func (a *AdaptiveMode) MaxAttempts() int + func (a *AdaptiveMode) RetryDelay(attempt int, opErr error) (time.Duration, error) + type AdaptiveModeOptions struct + FailOnNoAttemptTokens bool + RequestCost uint + StandardOptions []func(*StandardOptions) + Throttles []IsErrorThrottle + type AddRetryMiddlewaresOptions struct + LogRetryAttempts bool + Retryer aws.Retryer + type Attempt struct + LogAttempts bool + func NewAttemptMiddleware(retryer aws.Retryer, requestCloner RequestCloner, optFns ...func(*Attempt)) *Attempt + func (r *Attempt) HandleFinalize(ctx context.Context, in smithymiddle.FinalizeInput, ...) (out smithymiddle.FinalizeOutput, metadata smithymiddle.Metadata, err error) + func (r *Attempt) ID() string + type AttemptResult struct + Err error + ResponseMetadata middleware.Metadata + Retried bool + Retryable bool + func (a AttemptResult) GetRawResponse() interface{} + type AttemptResults struct + Results []AttemptResult + func GetAttemptResults(metadata middleware.Metadata) (AttemptResults, bool) + type BackoffDelayer interface + BackoffDelay func(attempt int, err error) (time.Duration, error) + type BackoffDelayerFunc func(int, error) (time.Duration, error) + func (fn BackoffDelayerFunc) BackoffDelay(attempt int, err error) (time.Duration, error) + type ExponentialJitterBackoff struct + func NewExponentialJitterBackoff(maxBackoff time.Duration) *ExponentialJitterBackoff + func (j *ExponentialJitterBackoff) BackoffDelay(attempt int, err error) (time.Duration, error) + type IsErrorRetryable interface + IsErrorRetryable func(error) aws.Ternary + type IsErrorRetryableFunc func(error) aws.Ternary + func (fn IsErrorRetryableFunc) IsErrorRetryable(err error) aws.Ternary + type IsErrorRetryables []IsErrorRetryable + func (r IsErrorRetryables) IsErrorRetryable(err error) aws.Ternary + type IsErrorThrottle interface + IsErrorThrottle func(error) aws.Ternary + type IsErrorThrottleFunc func(error) aws.Ternary + func (fn IsErrorThrottleFunc) IsErrorThrottle(err error) aws.Ternary + type IsErrorThrottles []IsErrorThrottle + func (r IsErrorThrottles) IsErrorThrottle(err error) aws.Ternary + type IsErrorTimeout interface + IsErrorTimeout func(err error) aws.Ternary + type IsErrorTimeoutFunc func(error) aws.Ternary + func (fn IsErrorTimeoutFunc) IsErrorTimeout(err error) aws.Ternary + type IsErrorTimeouts []IsErrorTimeout + func (ts IsErrorTimeouts) IsErrorTimeout(err error) aws.Ternary + type MaxAttemptsError struct + Attempt int + Err error + func (e *MaxAttemptsError) Error() string + func (e *MaxAttemptsError) Unwrap() error + type MetricsHeader struct + func (r *MetricsHeader) ID() string + func (r MetricsHeader) HandleFinalize(ctx context.Context, in smithymiddle.FinalizeInput, ...) (out smithymiddle.FinalizeOutput, metadata smithymiddle.Metadata, err error) + type NoRetryCanceledError struct + func (NoRetryCanceledError) IsErrorRetryable(err error) aws.Ternary + type RateLimiter interface + AddTokens func(uint) error + GetToken func(ctx context.Context, cost uint) (releaseToken func() error, err error) + type RequestCloner func(interface{}) interface + type RetryableConnectionError struct + func (r RetryableConnectionError) IsErrorRetryable(err error) aws.Ternary + type RetryableError struct + func (RetryableError) IsErrorRetryable(err error) aws.Ternary + type RetryableErrorCode struct + Codes map[string]struct{} + func (r RetryableErrorCode) IsErrorRetryable(err error) aws.Ternary + type RetryableHTTPStatusCode struct + Codes map[int]struct{} + func (r RetryableHTTPStatusCode) IsErrorRetryable(err error) aws.Ternary + type Standard struct + func NewStandard(fnOpts ...func(*StandardOptions)) *Standard + func (s *Standard) GetAttemptToken(context.Context) (func(error) error, error) + func (s *Standard) GetInitialToken() func(error) error + func (s *Standard) GetRetryToken(ctx context.Context, opErr error) (func(error) error, error) + func (s *Standard) IsErrorRetryable(err error) bool + func (s *Standard) MaxAttempts() int + func (s *Standard) RetryDelay(attempt int, err error) (time.Duration, error) + type StandardOptions struct + Backoff BackoffDelayer + MaxAttempts int + MaxBackoff time.Duration + NoRetryIncrement uint + RateLimiter RateLimiter + RetryCost uint + RetryTimeoutCost uint + Retryables []IsErrorRetryable + Timeouts []IsErrorTimeout + type ThrottleErrorCode struct + Codes map[string]struct{} + func (r ThrottleErrorCode) IsErrorThrottle(err error) aws.Ternary + type TimeouterError struct + func (t TimeouterError) IsErrorTimeout(err error) aws.Ternary