• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.gitignoreH A D26-Dec-2019252

.travis.ymlH A D26-Dec-2019194

LICENSEH A D26-Dec-20191.1 KiB

README.mdH A D26-Dec-20191.7 KiB

backoff.goH A D26-Dec-20192.1 KiB

backoff_test.goH A D26-Dec-2019601

context.goH A D26-Dec-20191.2 KiB

context_test.goH A D26-Dec-2019378

example_test.goH A D26-Dec-20191.2 KiB

exponential.goH A D26-Dec-20195.4 KiB

exponential_test.goH A D26-Dec-20193.5 KiB

go.modH A D26-Dec-201947

retry.goH A D26-Dec-20192.2 KiB

retry_test.goH A D26-Dec-20192.3 KiB

ticker.goH A D26-Dec-20192 KiB

ticker_test.goH A D26-Dec-20191.5 KiB

timer.goH A D26-Dec-2019750

tries.goH A D26-Dec-2019724

tries_test.goH A D26-Dec-20191.2 KiB

README.md

1# Exponential Backoff [![GoDoc][godoc image]][godoc] [![Build Status][travis image]][travis] [![Coverage Status][coveralls image]][coveralls]
2
3This 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]
6is an algorithm that uses feedback to multiplicatively decrease the rate of some process,
7in order to gradually find an acceptable rate.
8The retries exponentially increase and stop increasing when a certain threshold is met.
9
10## Usage
11
12Import path is `github.com/cenkalti/backoff/v4`. Please note the version part at the end.
13
14godoc.org does not support modules yet,
15so you can use https://godoc.org/gopkg.in/cenkalti/backoff.v4 to view the documentation.
16
17## Contributing
18
19* I would like to keep this library as small as possible.
20* Please don't send a PR without opening an issue and discussing it first.
21* If proposed change is not a common use case, I will probably not accept it.
22
23[godoc]: https://godoc.org/github.com/cenkalti/backoff
24[godoc image]: https://godoc.org/github.com/cenkalti/backoff?status.png
25[travis]: https://travis-ci.org/cenkalti/backoff
26[travis image]: https://travis-ci.org/cenkalti/backoff.png?branch=master
27[coveralls]: https://coveralls.io/github/cenkalti/backoff?branch=master
28[coveralls image]: https://coveralls.io/repos/github/cenkalti/backoff/badge.svg?branch=master
29
30[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
31[exponential backoff wiki]: http://en.wikipedia.org/wiki/Exponential_backoff
32
33[advanced example]: https://godoc.org/github.com/cenkalti/backoff#example_
34