backoff

package
v0.16.0 Latest Latest
Warning

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

Go to latest
Published: Jul 4, 2025 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultExponential

func DefaultExponential() pgsql.BackoffDelayFunc

func DefaultExponentialWithEqualJitter

func DefaultExponentialWithEqualJitter() pgsql.BackoffDelayFunc

func DefaultExponentialWithFullJitter

func DefaultExponentialWithFullJitter() pgsql.BackoffDelayFunc

func DefaultLinear

func DefaultLinear() pgsql.BackoffDelayFunc

func NewExponential

func NewExponential(config ExponentialConfig) pgsql.BackoffDelayFunc

NewExponential creates a new exponential backoff function

func NewLinear

func NewLinear(config LinearConfig) pgsql.BackoffDelayFunc

NewLinear creates a new linear backoff function

Types

type Config

type Config struct {
	BaseDelay time.Duration // Base delay for backoff
	MaxDelay  time.Duration // Maximum delay cap
}

Config contains common configuration for all backoff strategies

type ExponentialConfig

type ExponentialConfig struct {
	Config
	Multiplier float64 // Multiplier for exponential growth
	JitterType JitterType
}

ExponentialConfig contains configuration for exponential backoff

type JitterType

type JitterType int

JitterType defines the type of jitter to apply

const (
	// NoJitter applies no jitter
	NoJitter JitterType = iota
	// FullJitter applies full jitter (0 to calculated delay)
	FullJitter
	// EqualJitter applies equal jitter (half fixed + half random)
	EqualJitter
)

type LinearConfig

type LinearConfig struct {
	Config
	Increment time.Duration // Amount to increase delay each attempt
}

LinearConfig contains configuration for linear backoff

Jump to

Keyboard shortcuts

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