Files
Deal/src/telegram-service/Deal.Telegram/Dialogs/RandomBackfillPacer.cs
T
stepan b8570e3197
ci / build-test (pull_request) Successful in 2m53s
Убрать XML-доки из реализаций интерфейсов
Описание живёт только в интерфейсе: удалены классовые summary и
док-блоки членов-реализаций (28 файлов). Правило уточнено в §11.
2026-09-13 14:15:23 +03:00

27 lines
855 B
C#

using Deal.Telegram.Dialogs;
namespace Deal.Telegram.Dialogs;
public sealed class RandomBackfillPacer : IBackfillPacer
{
async Task IBackfillPacer.WaitAsync(
double minSeconds,
double maxSeconds,
CancellationToken cancellationToken)
{
if (maxSeconds < 0 || minSeconds < 0 || minSeconds > maxSeconds)
{
throw new ArgumentOutOfRangeException(nameof(maxSeconds), $"Некорректный диапазон паузы: [{minSeconds}, {maxSeconds}].");
}
if (maxSeconds == 0)
{
return;
}
double seconds = minSeconds == maxSeconds
? minSeconds
: minSeconds + Random.Shared.NextDouble() * (maxSeconds - minSeconds);
await Task.Delay(TimeSpan.FromSeconds(seconds), cancellationToken).ConfigureAwait(false);
}
}