package retry

import "github.com/google/go-containerregistry/internal/retry"

Package retry provides methods for retrying operations. It is a thin wrapper around k8s.io/apimachinery/pkg/util/wait to make certain operations easier.

Index

Functions

func IsNotNil

func IsNotNil(err error) bool

IsNotNil returns true if err is not nil.

func IsTemporary

func IsTemporary(err error) bool

IsTemporary returns true if err implements Temporary() and it returns true.

func Retry

func Retry(f func() error, p Predicate, backoff wait.Backoff) (err error)

Retry retries a given function, f, until a predicate is satisfied, using exponential backoff. If the predicate is never satisfied, it will return the last error returned by f.

Types

type Backoff

type Backoff = wait.Backoff

Backoff is an alias of our own wait.Backoff to avoid name conflicts with the kubernetes wait package. Typing retry.Backoff is aesier than fixing the wrong import every time you use wait.Backoff.

type Predicate

type Predicate func(error) (retry bool)

Predicate determines whether an error should be retried.

Source Files

retry.go

Directories

PathSynopsis
internal/retry/waitPackage wait is a subset of k8s.io/apimachinery to avoid conflicts in dependencies (specifically, logging).
Version
v0.10.0
Published
Jun 21, 2022
Platform
js/wasm
Imports
3 packages
Last checked
now

Tools for package owners.