ci / build-test (pull_request) Successful in 2m53s
Описание живёт только в интерфейсе: удалены классовые summary и док-блоки членов-реализаций (28 файлов). Правило уточнено в §11.
27 lines
855 B
C#
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);
|
|
}
|
|
}
|