System.Threading.RateLimiting Namespace

Classes

ConcurrencyLimiter

RateLimiter implementation that helps manage concurrent access to a resource.

ConcurrencyLimiterOptions

Options to specify the behavior of a ConcurrencyLimiter.

FixedWindowRateLimiter

RateLimiter implementation that refreshes allowed permits in a window periodically.

FixedWindowRateLimiterOptions

Options to specify the behavior of a FixedWindowRateLimiter.

MetadataName

Contains some common metadata name-type pairs and helper method to create a metadata name.

MetadataName<T>

A strongly-typed name of metadata that can be stored in a RateLimitLease.

PartitionedRateLimiter

Contains methods to assist with creating a PartitionedRateLimiter<TResource>.

PartitionedRateLimiter<TResource>

Represents a limiter type that users interact with to determine if an operation can proceed given a specific TResource.

RateLimiter

Represents a limiter type that users interact with to determine if an operation can proceed.

RateLimiterStatistics

Snapshot of statistics for a RateLimiter.

RateLimitLease

Abstraction for leases returned by RateLimiter implementations. A lease represents the success or failure to acquire a resource and contains potential metadata that is relevant to the acquisition operation.

RateLimitPartition

Contains methods used in Create<TResource,TPartitionKey>(Func<TResource,RateLimitPartition<TPartitionKey>>, IEqualityComparer<TPartitionKey>) to assist in the creation of partitions for your rate limiter.

ReplenishingRateLimiter

Abstraction that specifies that the RateLimiter implementation is capable of replenishing tokens.

SlidingWindowRateLimiter

RateLimiter implementation that replenishes permit counters periodically instead of via a release mechanism.

SlidingWindowRateLimiterOptions

Options to specify the behavior of a SlidingWindowRateLimiter.

TokenBucketRateLimiter

RateLimiter implementation that replenishes tokens periodically instead of via a release mechanism.

TokenBucketRateLimiterOptions

Options to control the behavior of a TokenBucketRateLimiter.

Structs

RateLimitPartition<TKey>

Type returned by Get<TKey>(TKey, Func<TKey,RateLimiter>) methods to be used by Create<TResource,TPartitionKey>(Func<TResource,RateLimitPartition<TPartitionKey>>, IEqualityComparer<TPartitionKey>) to know what partitions are configured.

Enums

QueueProcessingOrder

Controls the behavior of AcquireAsync(Int32, CancellationToken) when not enough resources can be leased.