func delay()

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
}