backoffDelay function
退避间隔(《sdk-web/2.功能概述文档》第 6.4 节):从 baseMs 开始逐次翻倍,最长 maxMs,每次加减 jitter 比例的随机量,
并且不短于 minMs。attempt 从 0 开始。
Implementation
int backoffDelay(int attempt, {required int baseMs, required int maxMs, double jitter = 0.5, int minMs = 0, required double Function() random}) {
final raw = math.min(maxMs.toDouble(), baseMs * math.pow(2, math.min(attempt, 30)).toDouble());
final delay = raw * (1 - jitter + random() * 2 * jitter);
return math.max(delay.round(), minMs);
}