1
0
mirror of https://github.com/JKorf/CryptoExchange.Net.git synced 2026-10-18 09:00:59 +00:00

Added WithRateLimitAdmissionAsync for REST and Socket clients

This commit is contained in:
Jkorf
2026-09-17 11:33:47 +02:00
parent e5da147ba8
commit a34684cd31
13 changed files with 161 additions and 37 deletions
+4 -6
View File
@@ -350,9 +350,8 @@ namespace CryptoExchange.Net.Clients
if (ClientOptions.RateLimiterEnabled)
{
var rateRatio = 1.0;
if (ClientOptions.RateLimitAdmission != null)
rateRatio = ClientOptions.RateLimitAdmission(definition, requestWeight).MaxUtilization;
var admissionOverride = AdmissionOverride.Value ?? ClientOptions.RateLimitAdmission?.Invoke(definition, requestWeight);
var rateRatio = admissionOverride?.MaxUtilizationRatio ?? 1.0;
var limitResult = await definition.RateLimitGate.ProcessAsync(
_logger,
@@ -379,9 +378,8 @@ namespace CryptoExchange.Net.Clients
if (ClientOptions.RateLimiterEnabled)
{
var singleRequestWeight = weightSingleLimiter ?? 1;
var rateRatio = 1.0;
if (ClientOptions.RateLimitAdmission != null)
rateRatio = ClientOptions.RateLimitAdmission(definition, singleRequestWeight).MaxUtilization;
var admissionOverride = AdmissionOverride.Value ?? ClientOptions.RateLimitAdmission?.Invoke(definition, singleRequestWeight);
var rateRatio = admissionOverride?.MaxUtilizationRatio ?? 1.0;
var limitResult = await definition.RateLimitGate.ProcessSingleAsync(
_logger,