This is a fork from the awesome cenkalti/backoff which is a go port from google-http-java-client.
This BackOff sleeps upon BackOff() and calculates its next backoff time instead of returning the duration to sleep.
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.
go get github.com/azr/backoff