Class BasicRateLimiter
This rate limiter can be used by any number of clients to limit the number of requests It uses a simple in-memory queue to track request timestamps and enforces a limit on the number of requests per specified time window.
public class BasicRateLimiter : IRateLimiter, IDisposable
- Inheritance
-
BasicRateLimiter
- Implements
- Inherited Members
Constructors
BasicRateLimiter(int, TimeSpan)
Initializes a new instance of the BasicRateLimiter class.
public BasicRateLimiter(int maxCalls, TimeSpan window)
Parameters
maxCallsintThe maximum number of calls allowed in the specified time window.
windowTimeSpanThe time window for rate limiting.
Methods
ApplyRateLimitingAsync(HttpRequestMessage, CancellationToken)
Apply rate limiting
public Task ApplyRateLimitingAsync(HttpRequestMessage httpRequestMessage, CancellationToken cancellationToken)
Parameters
httpRequestMessageHttpRequestMessageThe request - ignored for this basic rate limiter
cancellationTokenCancellationToken
Returns
Dispose()
public void Dispose()