package backoff

import "google.golang.org/grpc/internal/backoff"

Package backoff implement the backoff strategy for gRPC.

This is kept in internal until the gRPC project decides whether or not to allow alternative backoff strategies.

Index

Types

type Exponential

type Exponential struct {
	// MaxDelay is the upper bound of backoff delay.
	MaxDelay time.Duration
}

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

func (Exponential) Backoff

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

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
}

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

Source Files

backoff.go

Version
v1.21.3
Published
Aug 13, 2019
Platform
linux/amd64
Imports
2 packages
Last checked
2 hours ago

Tools for package owners.