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
-
objectTokenBucketRateLimiter
- 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
burstrequests 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.