Documentation
Table of Contents

Class TokenBucketRateLimiter

Namespace
IntentSharp.Resilience
Assembly
IntentSharp.dll

Token-bucket limiter: steady refill rate with burst capacity, one bucket per provider.

public sealed class TokenBucketRateLimiter : IRateLimiter
Inheritance
object
TokenBucketRateLimiter
Implements
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.ReferenceEquals(object, object)
object.ToString()
Extension Methods

Constructors

TokenBucketRateLimiter(double, int)

Creates a limiter. Each provider's bucket starts full, so the first burst requests never wait.

Methods

AcquireAsync(string, TimeSpan, CancellationToken)

Waits until a request to the provider is permitted, or throws AIRateLimitException when the wait would exceed maxWait.

GetSnapshot(string)

Returns the provider's bucket after refilling it to now. A provider not seen before reports a full bucket.