Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConstantBackoff ¶
type ConstantBackoff struct { MaxRetries int Time int TimeUnit time.Duration // contains filtered or unexported fields }
ConstantBackoff defines a retry policy in which in we retry up to the provided maximum number of retries (MaxRetries). The duration is constant and always the one provided, i.e. Time converted to TimeUnit.
func (ConstantBackoff) Clone ¶
func (b ConstantBackoff) Clone() Policy
Clone implements retry.Policy#Clone() retry.Policy.
func (ConstantBackoff) Done ¶
func (b ConstantBackoff) Done() bool
Done implements retry.Policy#Done() bool.
func (*ConstantBackoff) Duration ¶
func (b *ConstantBackoff) Duration() time.Duration
Duration implements retry.Policy#Duration() time.Duration.
func (*ConstantBackoff) Reset ¶
func (b *ConstantBackoff) Reset()
Reset implements retry.Policy#Reset().
type ExponentialBackoff ¶
type ExponentialBackoff struct { MaxRetries int TimeUnit time.Duration // contains filtered or unexported fields }
ExponentialBackoff defines a retry policy in which in we exponentially retry up to the provided maximum number of retries (MaxRetries).
func (ExponentialBackoff) Clone ¶
func (b ExponentialBackoff) Clone() Policy
Clone implements retry.Policy#Clone() retry.Policy.
func (ExponentialBackoff) Done ¶
func (b ExponentialBackoff) Done() bool
Done implements retry.Policy#Done() bool.
func (*ExponentialBackoff) Duration ¶
func (b *ExponentialBackoff) Duration() time.Duration
Duration implements retry.Policy#Duration() time.Duration.
func (*ExponentialBackoff) Reset ¶
func (b *ExponentialBackoff) Reset()
Reset implements retry.Policy#Reset().
type Policy ¶
Policy defines an "iterator"-style of interface for retry policies. The client should repeatedly call Done() and Duration() such that if Done() returns false, then Duration() is called, and the value returned should be the time to wait for before retrying an operation defined by the client. Once Done() returns true, the client should stop using the retry policy and "give up" in an appropriate manner for its use-case. Reset() resets the current policy's state, so that it can be re-used. Clone() clones the current policy, so that it can be used in a different thread/go-routine.
type TimingOutExponentialBackoff ¶
type TimingOutExponentialBackoff struct { Timeout time.Duration TimeUnit time.Duration // contains filtered or unexported fields }
TimingOutExponentialBackoff defines a retry policy in which we exponentially retry up to the provided maximum duration (Timeout).
func NewTimingOutExponentialBackoff ¶
func NewTimingOutExponentialBackoff(timeout time.Duration) TimingOutExponentialBackoff
NewTimingOutExponentialBackoff creates a new TimingOutExponentialBackoff with seconds as TimeUnit
func (TimingOutExponentialBackoff) Clone ¶
func (b TimingOutExponentialBackoff) Clone() Policy
Clone implements retry.Policy#Clone() retry.Policy.
func (TimingOutExponentialBackoff) Done ¶
func (b TimingOutExponentialBackoff) Done() bool
Done implements retry.Policy#Done() bool.
func (*TimingOutExponentialBackoff) Duration ¶
func (b *TimingOutExponentialBackoff) Duration() time.Duration
Duration implements retry.Policy#Duration() time.Duration.
func (*TimingOutExponentialBackoff) Reset ¶
func (b *TimingOutExponentialBackoff) Reset()
Reset implements retry.Policy#Reset().