SlidingWindowRateLimiter Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
RateLimiter implementation that replenishes permit counters periodically instead of via a release mechanism.
public sealed class SlidingWindowRateLimiter : System.Threading.RateLimiting.ReplenishingRateLimiter
type SlidingWindowRateLimiter = class
inherit ReplenishingRateLimiter
Public NotInheritable Class SlidingWindowRateLimiter
Inherits ReplenishingRateLimiter
- Inheritance
Constructors
SlidingWindowRateLimiter(SlidingWindowRateLimiterOptions) |
Initializes the SlidingWindowRateLimiter. |
Properties
IdleDuration |
Specifies how long the RateLimiter has had all permits available. Used by RateLimiter managers that may want to clean up unused RateLimiters. |
IsAutoReplenishing |
Specifies if the ReplenishingRateLimiter is automatically replenishing its tokens or if it expects an external source to regularly call TryReplenish(). |
ReplenishmentPeriod |
Specifies how often the ReplenishingRateLimiter will replenish tokens.
If IsAutoReplenishing is |
Methods
AcquireAsync(Int32, CancellationToken) |
Wait until the requested permits are available or permits can no longer be acquired. (Inherited from RateLimiter) |
AcquireAsyncCore(Int32, CancellationToken) |
Method that RateLimiter implementations implement for AcquireAsync(Int32, CancellationToken). (Inherited from RateLimiter) |
AttemptAcquire(Int32) |
Fast synchronous attempt to acquire permits. (Inherited from RateLimiter) |
AttemptAcquireCore(Int32) |
Method that RateLimiter implementations implement for AttemptAcquire(Int32). (Inherited from RateLimiter) |
Dispose() |
Disposes the RateLimiter. This completes any queued acquires with a failed lease. (Inherited from RateLimiter) |
Dispose(Boolean) |
Dispose method for implementations to write. (Inherited from RateLimiter) |
DisposeAsync() |
Disposes the RateLimiter asynchronously. (Inherited from RateLimiter) |
DisposeAsyncCore() |
DisposeAsync method for implementations to write. (Inherited from RateLimiter) |
GetStatistics() |
Gets a snapshot of the RateLimiter statistics if available. |
TryReplenish() |
Attempts to replenish request counters in a window. |