Documentation ¶
Overview ¶
Package backoff implements backoff timers which increases wait time on every retry, incredibly useful in distributed system timeout functionalities.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Backoff ¶
type Backoff struct {
// contains filtered or unexported fields
}
Backoff implements exponential backoff with randomized wait times.
func (*Backoff) Err ¶
Err returns the reason for terminating the backoff, or nil if it didn't terminate.
func (*Backoff) NumRetries ¶
NumRetries returns the number of retries so far.
type Config ¶
type Config struct { Min time.Duration `yaml:"min_period"` // Start backoff at this level Max time.Duration `yaml:"max_period"` // Increase exponentially to this level MaxRetries int `yaml:"max_retries"` // Give up after this many; zero means infinite retries }
Config configures a Backoff.
Click to show internal directories.
Click to hide internal directories.