Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Options ¶
type Options struct { InitialBackoff time.Duration // Default retry backoff interval MaxBackoff time.Duration // Maximum retry backoff interval Multiplier float64 // Default backoff constant MaxRetries int // Maximum number of attempts (0 for infinite) RandomizationFactor float64 // Randomize the backoff interval by constant Closer <-chan struct{} // Optionally end retry loop channel close. }
Options provides reusable configuration of Retry objects.
type Retry ¶
type Retry struct {
// contains filtered or unexported fields
}
Retry implements the public methods necessary to control an exponential- backoff retry loop.
func Start ¶
Start returns a new Retry initialized to some default values. The Retry can then be used in an exponential-backoff retry loop.
func StartWithCtx ¶
StartWithCtx returns a new Retry initialized to some default values. The Retry can then be used in an exponential-backoff retry loop. If the provided context is canceled (see Context.Done), the retry loop ends early.
func (*Retry) Next ¶
Next returns whether the retry loop should continue, and blocks for the appropriate length of time before yielding back to the caller. If a stopper is present, Next will eagerly return false when the stopper is stopped.