expBackoff static method

int expBackoff(
  1. int initial,
  2. int max,
  3. int actualRetry, [
  4. Function? jitterFn,
])

Implementation

static int expBackoff(
  int initial,
  int max,
  int actualRetry, [
  Function? jitterFn,
]) {
  Function curatedFn;
  curatedFn = jitterFn ?? _defaultJitterFn;
  var base = initial << actualRetry;
  var willWait = 0;
  var isOverflowing = base <= 0;
  willWait = (base > max || isOverflowing) ? curatedFn(max) : curatedFn(base);

  return willWait.toInt();
}