| 123456789101112131415161718192021222324 |
- package retrier
- import "time"
- // ConstantBackoff generates a simple back-off strategy of retrying 'n' times, and waiting 'amount' time after each one.
- func ConstantBackoff(n int, amount time.Duration) []time.Duration {
- ret := make([]time.Duration, n)
- for i := range ret {
- ret[i] = amount
- }
- return ret
- }
- // ExponentialBackoff generates a simple back-off strategy of retrying 'n' times, and doubling the amount of
- // time waited after each one.
- func ExponentialBackoff(n int, initialAmount time.Duration) []time.Duration {
- ret := make([]time.Duration, n)
- next := initialAmount
- for i := range ret {
- ret[i] = next
- next *= 2
- }
- return ret
- }
|