retry

package
v1.4.1 Latest Latest
Warning

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

Go to latest
Published: May 15, 2019 License: MPL-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Backoff

type Backoff struct {
	InitialBackoff time.Duration
	MaxBackoff     time.Duration
	Multiplier     float64
}

func (*Backoff) Linear

func (lb *Backoff) Linear() time.Duration

type Config

type Config struct {
	// The operation will be retried until StartTimeout has elapsed. 0 means
	// forever.
	StartTimeout time.Duration

	// RetryDelay gives the time elapsed after a failure and before we try
	// again. Returns 2s by default.
	RetryDelay func() time.Duration

	// Max number of retries, 0 means infinite
	Tries int

	// ShouldRetry tells wether error should be retried. Nil defaults to always
	// true.
	ShouldRetry func(error) bool
}

Config represents a retry config

func (Config) Run

func (cfg Config) Run(ctx context.Context, fn func(context.Context) error) error

Run fn until context is cancelled up until StartTimeout time has passed.

type RetryExhaustedError added in v1.4.1

type RetryExhaustedError struct {
	Err error
}

func (*RetryExhaustedError) Error added in v1.4.1

func (err *RetryExhaustedError) Error() string

Jump to

Keyboard shortcuts

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