backoff

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Mar 21, 2022 License: BSD-3-Clause Imports: 2 Imported by: 0

Documentation

Overview

Package backoff contains backoff algorithm helper functions.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Algorithm

type Algorithm func(attempt uint) time.Duration

Algorithm defines a function that calculates a time.Duration based on the given retry attempt number.

func BinaryExponential

func BinaryExponential(factor time.Duration) Algorithm

BinaryExponential creates a Algorithm that multiplies the factor duration by an exponentially increasing factor for each attempt, where the factor is calculated as `2` raised to the attempt number (2^attempt).

func Exponential

func Exponential(factor time.Duration, base float64) Algorithm

Exponential creates a Algorithm that multiplies the factor duration by an exponentially increasing factor for each attempt, where the factor is calculated as the given base raised to the attempt number.

func Fibonacci

func Fibonacci(factor time.Duration) Algorithm

Fibonacci creates a Algorithm that multiplies the factor duration by an increasing factor for each attempt, where the factor is the Nth number in the Fibonacci sequence.

func Incremental

func Incremental(initial, increment time.Duration) Algorithm

Incremental creates a Algorithm that increments the initial duration by the given increment for each attempt.

func Linear

func Linear(factor time.Duration) Algorithm

Linear creates a Algorithm that linearly multiplies the factor duration by the attempt number for each attempt.

Jump to

Keyboard shortcuts

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