1
0
mirror of https://github.com/JKorf/CryptoExchange.Net.git synced 2026-10-21 02:20:56 +00:00

Added RateLimitAdmission client option delegate

This commit is contained in:
Jkorf
2026-09-16 14:07:38 +02:00
parent 45a42fb028
commit 404d62ee5c
20 changed files with 259 additions and 67 deletions
@@ -53,7 +53,7 @@ namespace CryptoExchange.Net.RateLimiting.Guards
}
/// <inheritdoc />
public LimitCheck Check(RateLimitItemType type, RequestDefinition definition, string? apiKey, int requestWeight, string? keySuffix)
public LimitCheck Check(RateLimitItemType type, RequestDefinition definition, string? apiKey, int requestWeight, string? keySuffix, double allowedRateRatio)
{
var key = _keySelector(definition, apiKey) + keySuffix;
if (!_trackers.TryGetValue(key, out var tracker))
@@ -62,7 +62,7 @@ namespace CryptoExchange.Net.RateLimiting.Guards
_trackers.Add(key, tracker);
}
var delay = tracker.GetWaitTime(requestWeight);
var delay = tracker.GetWaitTime(requestWeight, allowedRateRatio);
if (delay == default)
return LimitCheck.NotNeeded(_limit, _period, tracker.Current);