Fedora 35 support was dropped, so we can update to a newer Go. Stable RHEL 8 and 9 and Fedora 36 ships Go 1.18, so let's switch to it. "//go:build" directives are now apparently enforced by go fmt, so that's why there were added. Also, all the github actions were adjusted to use Go 1.18. Signed-off-by: Ondřej Budai <ondrej@budai.cz> |
||
|---|---|---|
| .. | ||
| .gitignore | ||
| .travis.yml | ||
| backoff.go | ||
| context.go | ||
| exponential.go | ||
| LICENSE | ||
| README.md | ||
| retry.go | ||
| ticker.go | ||
| timer.go | ||
| tries.go | ||
Exponential Backoff

This is a Go port of the exponential backoff algorithm from Google's HTTP Client Library for Java.
Exponential backoff is an algorithm that uses feedback to multiplicatively decrease the rate of some process, in order to gradually find an acceptable rate. The retries exponentially increase and stop increasing when a certain threshold is met.
Usage
Import path is github.com/cenkalti/backoff/v4. Please note the version part at the end.
Use https://pkg.go.dev/github.com/cenkalti/backoff/v4 to view the documentation.
Contributing
- I would like to keep this library as small as possible.
- Please don't send a PR without opening an issue and discussing it first.
- If proposed change is not a common use case, I will probably not accept it.