Skip to main content

backoff

backoff

import "github.com/gojek/courier-go/xds/backoff"

Package backoff provides exponential backoff capabilities

Index

Variables

DefaultExponential is an exponential backoff implementation using the default values for all the configurable knobs defined in https://github.com/grpc/grpc/blob/master/doc/connection-backoff.md.
var DefaultExponential = Exponential{Config: grpcbackoff.DefaultConfig}
## type [Exponential](https://github.com/gojek/courier-go/blob/main/xds/backoff/backoff.go#L27-L30)

Exponential implements exponential backoff algorithm as defined in https://github.com/grpc/grpc/blob/master/doc/connection-backoff.md.

type Exponential struct {
// Config contains all options to configure the backoff algorithm.
Config grpcbackoff.Config
}
### func \(Exponential\) [Backoff](https://github.com/gojek/courier-go/blob/main/xds/backoff/backoff.go#L34)
func (bc Exponential) Backoff(retries int) time.Duration

Backoff returns the amount of time to wait before the next retry given the number of retries.

## type [Strategy](https://github.com/gojek/courier-go/blob/main/xds/backoff/backoff.go#L12-L16)

Strategy defines the methodology for backing off after a grpc connection failure.

type Strategy interface {
// Backoff returns the amount of time to wait before the next retry given
// the number of consecutive failures.
Backoff(retries int) time.Duration
}

Generated by gomarkdoc