retrystrategies

package
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 15, 2023 License: MPL-2.0 Imports: 3 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DefaultRetryStrategy

type DefaultRetryStrategy struct {
	// contains filtered or unexported fields
}

func NewDefault

func NewDefault(intervalSeconds uint64) *DefaultRetryStrategy

func (*DefaultRetryStrategy) NextDuration

func (r *DefaultRetryStrategy) NextDuration(attempts uint64) time.Duration

type ExponentialBackoffRetryStrategy

type ExponentialBackoffRetryStrategy struct {
	// contains filtered or unexported fields
}

based off https://blog.gopheracademy.com/advent-2014/backoff/

func NewExponential

func NewExponential(millis []uint) *ExponentialBackoffRetryStrategy

func NewExponentialWithJitter

func NewExponentialWithJitter(millis []uint, customJitter JitterFn) *ExponentialBackoffRetryStrategy

func (*ExponentialBackoffRetryStrategy) NextDuration

func (r *ExponentialBackoffRetryStrategy) NextDuration(attempts uint64) time.Duration

type JitterFn

type JitterFn func(uint) int

type RetryStrategy

type RetryStrategy interface {
	// NextDuration is how long we should wait before next retry
	NextDuration(attempts uint64) time.Duration
}

func NewRetryStrategyFromMetadata

func NewRetryStrategyFromMetadata(m datastore.Metadata) RetryStrategy

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL