computeBackoffDelayMs function

int computeBackoffDelayMs(
  1. int attempt,
  2. BackoffPolicy policy, {
  3. RandomSource random = _defaultRandom,
})

Implementation

int computeBackoffDelayMs(
  int attempt,
  BackoffPolicy policy, {
  RandomSource random = _defaultRandom,
}) {
  final exponent = attempt.clamp(0, _maxExponent);
  final cap = math.min(
    policy.maxDelayMs,
    (policy.baseDelayMs * math.pow(2, exponent)).toInt(),
  );
  return (random() * cap).floor();
}