Documentation
¶
Index ¶
- func DefaultExponential() pgsql.BackoffDelayFunc
- func DefaultExponentialWithEqualJitter() pgsql.BackoffDelayFunc
- func DefaultExponentialWithFullJitter() pgsql.BackoffDelayFunc
- func DefaultLinear() pgsql.BackoffDelayFunc
- func NewExponential(config ExponentialConfig) pgsql.BackoffDelayFunc
- func NewLinear(config LinearConfig) pgsql.BackoffDelayFunc
- type Config
- type ExponentialConfig
- type JitterType
- type LinearConfig
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
Click to show internal directories.
Click to hide internal directories.