README.md (1752B)
1 # Exponential Backoff [![GoDoc][godoc image]][godoc] [![Build Status][travis image]][travis] [![Coverage Status][coveralls image]][coveralls] 2 3 This is a Go port of the exponential backoff algorithm from [Google's HTTP Client Library for Java][google-http-java-client]. 4 5 [Exponential backoff][exponential backoff wiki] 6 is an algorithm that uses feedback to multiplicatively decrease the rate of some process, 7 in order to gradually find an acceptable rate. 8 The retries exponentially increase and stop increasing when a certain threshold is met. 9 10 ## Usage 11 12 Import path is `github.com/cenkalti/backoff/v4`. Please note the version part at the end. 13 14 Use https://pkg.go.dev/github.com/cenkalti/backoff/v4 to view the documentation. 15 16 ## Contributing 17 18 * I would like to keep this library as small as possible. 19 * Please don't send a PR without opening an issue and discussing it first. 20 * If proposed change is not a common use case, I will probably not accept it. 21 22 [godoc]: https://pkg.go.dev/github.com/cenkalti/backoff/v4 23 [godoc image]: https://godoc.org/github.com/cenkalti/backoff?status.png 24 [travis]: https://travis-ci.org/cenkalti/backoff 25 [travis image]: https://travis-ci.org/cenkalti/backoff.png?branch=master 26 [coveralls]: https://coveralls.io/github/cenkalti/backoff?branch=master 27 [coveralls image]: https://coveralls.io/repos/github/cenkalti/backoff/badge.svg?branch=master 28 29 [google-http-java-client]: https://github.com/google/google-http-java-client/blob/da1aa993e90285ec18579f1553339b00e19b3ab5/google-http-client/src/main/java/com/google/api/client/util/ExponentialBackOff.java 30 [exponential backoff wiki]: http://en.wikipedia.org/wiki/Exponential_backoff 31 32 [advanced example]: https://pkg.go.dev/github.com/cenkalti/backoff/v4?tab=doc#pkg-examples