Почему coolDownIntervalMicros в RateLimiter, как это?
Метод выглядит так:
double coolDownIntervalMicros() {
return warmupPeriodMicros / maxPermits;
}
Он находится в базе классов SmoothWarmingUp на Guava версии 26.0-jre.
И, как мы знаем, рисунок функции, относящейся к SmoothWarmingUp, выглядит так:
* ^ дросселирование * | * холодный + / * интервал | /. * | / . * | / . ← "период прогрева" - это площадь трапеции между * | /. thresholdPermits и maxPermits * | / . * | / . * | / . * стабильный +----------/ WARM . * интервал |, UP * |, СРОК. * |,, * 0 +----------+-------+--------------→ сохраненные разрешения * 0 thresholdPermits maxPermits *
warmupPeriodMicros - это область трапеции.
Я понятия не имею, что означает расчет.