in tools/mc2bq/pkg/backoff/backoff.go [53:69]
func delay(duration, cap time.Duration, factor, jitter float64) (sleep time.Duration, next time.Duration) {
sleep = duration
// add jitter for this step
if jitter > 0 {
sleep = duration + time.Duration(rand.Float64()*jitter*float64(duration))
}
// calculate next duration
if factor > 1 {
duration = time.Duration(float64(duration) * factor)
if cap > 0 && duration > cap {
duration = cap
}
}
return sleep, duration
}