Share via


ConcurrencyLimiter Class

Definition

RateLimiter implementation that helps manage concurrent access to a resource.

public sealed class ConcurrencyLimiter : System.Threading.RateLimiting.RateLimiter
type ConcurrencyLimiter = class
    inherit RateLimiter
Public NotInheritable Class ConcurrencyLimiter
Inherits RateLimiter
Inheritance
ConcurrencyLimiter

Constructors

ConcurrencyLimiter(ConcurrencyLimiterOptions)

Initializes the ConcurrencyLimiter.

Properties

IdleDuration

Specifies how long the RateLimiter has had all permits available. Used by RateLimiter managers that may want to clean up unused RateLimiters.

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.

Applies to