/
githubmirror
/
nbs
Обзор
Документация
Войти
/
githubmirror
/
nbs
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
library/cpp/retry/utils.cpp
20 строк
680 B
qkrorlqr
Initial NBS OpenSource export
28 апр 2023, 21:54
28 апр 2023, 21:54
783a858
Код
Авторство
О чём код?
#include "utils.h" #include <util/random/random.h> TDuration NRetryPrivate::AddRandomDelta(TDuration maxDelta) { if (maxDelta == TDuration::Zero()) { return TDuration::Zero(); } const TDuration delta = TDuration::MicroSeconds(RandomNumber(2 * maxDelta.MicroSeconds())); return delta - maxDelta; } TDuration NRetryPrivate::AddIncrement(ui32 attempt, TDuration increment) { return TDuration::MicroSeconds(attempt * increment.MicroSeconds()); } TDuration NRetryPrivate::AddExponentialMultiplier(ui32 attempt, TDuration exponentialMultiplier) { return TDuration::MicroSeconds((1ull << Min(63u, attempt)) * exponentialMultiplier.MicroSeconds()); }