System.Threading.RateLimiting.PartitionedRateLimiter<TResource>
Represents a limiter type that users interact with to determine if an operation can proceed given a specific TResource.
namespace System.Threading.RateLimiting
{
public abstract class PartitionedRateLimiter<[System.Runtime.CompilerServices.Nullable(2)] TResource> : IAsyncDisposable, IDisposable
{
public abstract RateLimiterStatistics GetStatistics(TResource resource);
public RateLimitLease AttemptAcquire(TResource resource, int permitCount = 1);
protected abstract RateLimitLease AttemptAcquireCore(TResource resource, int permitCount);
public ValueTask<RateLimitLease> AcquireAsync(TResource resource, int permitCount = 1, CancellationToken cancellationToken = default(CancellationToken));
protected abstract ValueTask<RateLimitLease> AcquireAsyncCore(TResource resource, int permitCount, CancellationToken cancellationToken);
protected virtual void Dispose(bool disposing);
public void Dispose();
protected virtual ValueTask DisposeAsyncCore();
public ValueTask DisposeAsync();
public PartitionedRateLimiter<TOuter> WithTranslatedKey<[System.Runtime.CompilerServices.Nullable(2)] TOuter>(Func<TOuter, TResource> keyAdapter, bool leaveOpen);
protected PartitionedRateLimiter();
}
}