mirror of
https://github.com/JKorf/CryptoExchange.Net.git
synced 2026-10-13 22:51:39 +00:00
ae7504c26c
Added V2 Shared API's infrastructure Added request coalescing Added rate limiting admission logic Fixed some rate limiting issues
21 lines
690 B
C#
21 lines
690 B
C#
using System;
|
|
|
|
namespace CryptoExchange.Net.RateLimiting.Trackers
|
|
{
|
|
internal static class WindowTrackerHelpers
|
|
{
|
|
private static readonly TimeSpan _minimumSafetyMargin = TimeSpan.FromMilliseconds(10);
|
|
private static readonly TimeSpan _maximumSafetyMargin = TimeSpan.FromMilliseconds(250);
|
|
|
|
public static TimeSpan GetDefaultSafetyMargin(TimeSpan period)
|
|
{
|
|
var margin = TimeSpan.FromTicks(period.Ticks / 20);
|
|
if (margin < _minimumSafetyMargin)
|
|
return _minimumSafetyMargin;
|
|
if (margin > _maximumSafetyMargin)
|
|
return _maximumSafetyMargin;
|
|
return margin;
|
|
}
|
|
}
|
|
}
|