%PDF- %PDF-
Direktori : /lib/dotnet/packs/Microsoft.AspNetCore.App.Ref/8.0.17/ref/net8.0/ |
Current File : //lib/dotnet/packs/Microsoft.AspNetCore.App.Ref/8.0.17/ref/net8.0/System.Threading.RateLimiting.xml |
<?xml version="1.0"?> <doc> <assembly> <name>System.Threading.RateLimiting</name> </assembly> <members> <member name="T:System.Threading.RateLimiting.ChainedPartitionedRateLimiter`1"> <summary> Acquires leases from rate limiters in the order given. If a lease fails to be acquired (throwing or IsAcquired == false) then the already acquired leases are disposed in reverse order and the failing lease is returned or the exception is thrown to user code. </summary> </member> <member name="T:System.Threading.RateLimiting.ConcurrencyLimiter"> <summary> <see cref="T:System.Threading.RateLimiting.RateLimiter"/> implementation that helps manage concurrent access to a resource. </summary> </member> <member name="P:System.Threading.RateLimiting.ConcurrencyLimiter.IdleDuration"> <inheritdoc /> </member> <member name="M:System.Threading.RateLimiting.ConcurrencyLimiter.#ctor(System.Threading.RateLimiting.ConcurrencyLimiterOptions)"> <summary> Initializes the <see cref="T:System.Threading.RateLimiting.ConcurrencyLimiter"/>. </summary> <param name="options">Options to specify the behavior of the <see cref="T:System.Threading.RateLimiting.ConcurrencyLimiter"/>.</param> </member> <member name="M:System.Threading.RateLimiting.ConcurrencyLimiter.GetStatistics"> <inheritdoc/> </member> <member name="M:System.Threading.RateLimiting.ConcurrencyLimiter.AttemptAcquireCore(System.Int32)"> <inheritdoc/> </member> <member name="M:System.Threading.RateLimiting.ConcurrencyLimiter.AcquireAsyncCore(System.Int32,System.Threading.CancellationToken)"> <inheritdoc/> </member> <member name="M:System.Threading.RateLimiting.ConcurrencyLimiter.Dispose(System.Boolean)"> <inheritdoc/> </member> <member name="M:System.Threading.RateLimiting.ConcurrencyLimiter.DisposeAsyncCore"> <inheritdoc/> </member> <member name="T:System.Threading.RateLimiting.ConcurrencyLimiter.RequestRegistration.Disposer"> <summary> Collects registrations to dispose outside the limiter lock to avoid deadlock. </summary> </member> <member name="T:System.Threading.RateLimiting.ConcurrencyLimiterOptions"> <summary> Options to specify the behavior of a <see cref="T:System.Threading.RateLimiting.ConcurrencyLimiter"/>. </summary> </member> <member name="P:System.Threading.RateLimiting.ConcurrencyLimiterOptions.PermitLimit"> <summary> Maximum number of permits that can be leased concurrently. Must be set to a value > 0 by the time these options are passed to the constructor of <see cref="T:System.Threading.RateLimiting.ConcurrencyLimiter"/>. </summary> </member> <member name="P:System.Threading.RateLimiting.ConcurrencyLimiterOptions.QueueProcessingOrder"> <summary> Determines the behaviour of <see cref="M:System.Threading.RateLimiting.RateLimiter.AcquireAsync(System.Int32,System.Threading.CancellationToken)"/> when not enough resources can be leased. </summary> <value> <see cref="F:System.Threading.RateLimiting.QueueProcessingOrder.OldestFirst"/> by default. </value> </member> <member name="P:System.Threading.RateLimiting.ConcurrencyLimiterOptions.QueueLimit"> <summary> Maximum number of permits that can be queued concurrently. Must be set to a value >= 0 by the time these options are passed to the constructor of <see cref="T:System.Threading.RateLimiting.ConcurrencyLimiter"/>. </summary> </member> <member name="T:System.Threading.RateLimiting.FixedWindowRateLimiter"> <summary> <see cref="T:System.Threading.RateLimiting.RateLimiter"/> implementation that refreshes allowed permits in a window periodically. </summary> </member> <member name="P:System.Threading.RateLimiting.FixedWindowRateLimiter.IdleDuration"> <inheritdoc /> </member> <member name="P:System.Threading.RateLimiting.FixedWindowRateLimiter.IsAutoReplenishing"> <inheritdoc /> </member> <member name="P:System.Threading.RateLimiting.FixedWindowRateLimiter.ReplenishmentPeriod"> <inheritdoc /> </member> <member name="M:System.Threading.RateLimiting.FixedWindowRateLimiter.#ctor(System.Threading.RateLimiting.FixedWindowRateLimiterOptions)"> <summary> Initializes the <see cref="T:System.Threading.RateLimiting.FixedWindowRateLimiter"/>. </summary> <param name="options">Options to specify the behavior of the <see cref="T:System.Threading.RateLimiting.FixedWindowRateLimiter"/>.</param> </member> <member name="M:System.Threading.RateLimiting.FixedWindowRateLimiter.GetStatistics"> <inheritdoc/> </member> <member name="M:System.Threading.RateLimiting.FixedWindowRateLimiter.AttemptAcquireCore(System.Int32)"> <inheritdoc/> </member> <member name="M:System.Threading.RateLimiting.FixedWindowRateLimiter.AcquireAsyncCore(System.Int32,System.Threading.CancellationToken)"> <inheritdoc/> </member> <member name="M:System.Threading.RateLimiting.FixedWindowRateLimiter.TryReplenish"> <summary> Attempts to replenish request counters in the window. </summary> <returns> False if <see cref="P:System.Threading.RateLimiting.FixedWindowRateLimiterOptions.AutoReplenishment"/> is enabled, otherwise true. Does not reflect if counters were replenished. </returns> </member> <member name="M:System.Threading.RateLimiting.FixedWindowRateLimiter.Dispose(System.Boolean)"> <inheritdoc /> </member> <member name="M:System.Threading.RateLimiting.FixedWindowRateLimiter.DisposeAsyncCore"> <inheritdoc /> </member> <member name="T:System.Threading.RateLimiting.FixedWindowRateLimiter.RequestRegistration.Disposer"> <summary> Collects registrations to dispose outside the limiter lock to avoid deadlock. </summary> </member> <member name="T:System.Threading.RateLimiting.FixedWindowRateLimiterOptions"> <summary> Options to specify the behavior of a <see cref="T:System.Threading.RateLimiting.FixedWindowRateLimiter"/>. </summary> </member> <member name="P:System.Threading.RateLimiting.FixedWindowRateLimiterOptions.Window"> <summary> Specifies the time window that takes in the requests. Must be set to a value greater than <see cref="F:System.TimeSpan.Zero" /> by the time these options are passed to the constructor of <see cref="T:System.Threading.RateLimiting.FixedWindowRateLimiter"/>. </summary> </member> <member name="P:System.Threading.RateLimiting.FixedWindowRateLimiterOptions.AutoReplenishment"> <summary> Specified whether the <see cref="T:System.Threading.RateLimiting.FixedWindowRateLimiter"/> is automatically refresh counters or if someone else will be calling <see cref="M:System.Threading.RateLimiting.FixedWindowRateLimiter.TryReplenish"/> to refresh counters. </summary> <value> <see langword="true" /> by default. </value> </member> <member name="P:System.Threading.RateLimiting.FixedWindowRateLimiterOptions.PermitLimit"> <summary> Maximum number of permit counters that can be allowed in a window. Must be set to a value > 0 by the time these options are passed to the constructor of <see cref="T:System.Threading.RateLimiting.FixedWindowRateLimiter"/>. </summary> </member> <member name="P:System.Threading.RateLimiting.FixedWindowRateLimiterOptions.QueueProcessingOrder"> <summary> Determines the behaviour of <see cref="M:System.Threading.RateLimiting.RateLimiter.AcquireAsync(System.Int32,System.Threading.CancellationToken)"/> when not enough resources can be leased. </summary> <value> <see cref="F:System.Threading.RateLimiting.QueueProcessingOrder.OldestFirst"/> by default. </value> </member> <member name="P:System.Threading.RateLimiting.FixedWindowRateLimiterOptions.QueueLimit"> <summary> Maximum cumulative permit count of queued acquisition requests. Must be set to a value >= 0 by the time these options are passed to the constructor of <see cref="T:System.Threading.RateLimiting.FixedWindowRateLimiter"/>. </summary> </member> <member name="T:System.Threading.RateLimiting.MetadataName"> <summary> Contains some common metadata name-type pairs and helper method to create a metadata name. </summary> </member> <member name="P:System.Threading.RateLimiting.MetadataName.RetryAfter"> <summary> Metadata put on a failed lease acquisition to specify when to retry acquiring a lease. For example, used in <see cref="T:System.Threading.RateLimiting.TokenBucketRateLimiter"/> which periodically replenishes leases. </summary> </member> <member name="P:System.Threading.RateLimiting.MetadataName.ReasonPhrase"> <summary> Metadata put on a failed lease acquisition to specify the reason the lease failed. </summary> </member> <member name="M:System.Threading.RateLimiting.MetadataName.Create``1(System.String)"> <summary> Create a strongly-typed metadata name. </summary> <typeparam name="T">Type that the metadata will contain.</typeparam> <param name="name">Name of the metadata.</param> <returns></returns> </member> <member name="T:System.Threading.RateLimiting.MetadataName`1"> <summary> A strongly-typed name of metadata that can be stored in a <see cref="T:System.Threading.RateLimiting.RateLimitLease"/>. </summary> <typeparam name="T">The type the metadata will be.</typeparam> </member> <member name="M:System.Threading.RateLimiting.MetadataName`1.#ctor(System.String)"> <summary> Constructs a <see cref="T:System.Threading.RateLimiting.MetadataName`1"/> object with the given name. </summary> <param name="name">The name of the <see cref="T:System.Threading.RateLimiting.MetadataName"/> object.</param> </member> <member name="P:System.Threading.RateLimiting.MetadataName`1.Name"> <summary> Gets the name of the metadata. </summary> </member> <member name="M:System.Threading.RateLimiting.MetadataName`1.ToString"> <inheritdoc/> </member> <member name="M:System.Threading.RateLimiting.MetadataName`1.GetHashCode"> <inheritdoc/> </member> <member name="M:System.Threading.RateLimiting.MetadataName`1.Equals(System.Object)"> <inheritdoc/> </member> <member name="M:System.Threading.RateLimiting.MetadataName`1.Equals(System.Threading.RateLimiting.MetadataName{`0})"> <inheritdoc/> </member> <member name="M:System.Threading.RateLimiting.MetadataName`1.op_Equality(System.Threading.RateLimiting.MetadataName{`0},System.Threading.RateLimiting.MetadataName{`0})"> <summary> Determines whether two <see cref="T:System.Threading.RateLimiting.MetadataName`1"/> are equal to each other. </summary> <param name="left"></param> <param name="right"></param> <returns></returns> </member> <member name="M:System.Threading.RateLimiting.MetadataName`1.op_Inequality(System.Threading.RateLimiting.MetadataName{`0},System.Threading.RateLimiting.MetadataName{`0})"> <summary> Determines whether two <see cref="T:System.Threading.RateLimiting.MetadataName`1"/> are not equal to each other. </summary> <param name="left"></param> <param name="right"></param> <returns></returns> </member> <member name="T:System.Threading.RateLimiting.PartitionedRateLimiter"> <summary> Contains methods to assist with creating a <see cref="T:System.Threading.RateLimiting.PartitionedRateLimiter`1"/>. </summary> </member> <member name="M:System.Threading.RateLimiting.PartitionedRateLimiter.Create``2(System.Func{``0,System.Threading.RateLimiting.RateLimitPartition{``1}},System.Collections.Generic.IEqualityComparer{``1})"> <summary> Method used to create a default implementation of <see cref="T:System.Threading.RateLimiting.PartitionedRateLimiter`1"/>. </summary> <typeparam name="TResource">The resource type that is being rate limited.</typeparam> <typeparam name="TPartitionKey">The type to distinguish partitions with.</typeparam> <param name="partitioner">Method called every time an Acquire or WaitAsync call is made to figure out what rate limiter to apply to the request. If the <see cref="P:System.Threading.RateLimiting.RateLimitPartition`1.PartitionKey"/> matches a cached entry then the rate limiter previously used for that key is used. Otherwise, the factory is called to get a new rate limiter.</param> <param name="equalityComparer">Optional <see cref="T:System.Collections.Generic.IEqualityComparer`1"/> to customize the comparison logic for <typeparamref name="TPartitionKey"/>.</param> <returns></returns> </member> <member name="M:System.Threading.RateLimiting.PartitionedRateLimiter.CreateChained``1(System.Threading.RateLimiting.PartitionedRateLimiter{``0}[])"> <summary> Creates a single <see cref="T:System.Threading.RateLimiting.PartitionedRateLimiter`1"/> that wraps the passed in <see cref="T:System.Threading.RateLimiting.PartitionedRateLimiter`1"/>s. </summary> <remarks> <para> Methods on the returned <see cref="T:System.Threading.RateLimiting.PartitionedRateLimiter`1"/> will iterate over the passed in <paramref name="limiters"/> in the order given. </para> <para> <see cref="M:System.Threading.RateLimiting.PartitionedRateLimiter`1.GetStatistics(`0)"/> will return the lowest value for <see cref="P:System.Threading.RateLimiting.RateLimiterStatistics.CurrentAvailablePermits"/>, the inner-most limiter's <see cref="P:System.Threading.RateLimiting.RateLimiterStatistics.TotalSuccessfulLeases"/>, and the aggregate values for the rest of the properties from the <paramref name="limiters"/>. </para> <para> <see cref="T:System.Threading.RateLimiting.RateLimitLease"/>s returned will aggregate metadata and for duplicates use the value of the first lease with the same metadata name. </para> </remarks> <typeparam name="TResource">The resource type that is being rate limited.</typeparam> <param name="limiters">The <see cref="T:System.Threading.RateLimiting.PartitionedRateLimiter`1"/>s that will be called in order when acquiring resources.</param> <returns></returns> <exception cref="T:System.ArgumentNullException"><paramref name="limiters"/> is a null parameter.</exception> <exception cref="T:System.ArgumentException"><paramref name="limiters"/> is an empty array.</exception> </member> <member name="T:System.Threading.RateLimiting.PartitionedRateLimiter`1"> <summary> Represents a limiter type that users interact with to determine if an operation can proceed given a specific <typeparamref name="TResource"/>. </summary> <typeparam name="TResource">The resource type that is being limited.</typeparam> </member> <member name="M:System.Threading.RateLimiting.PartitionedRateLimiter`1.GetStatistics(`0)"> <summary> Gets a snapshot of the statistics for the <paramref name="resource"/> if available. </summary> <returns>An instance of <see cref="T:System.Threading.RateLimiting.RateLimiterStatistics"/> containing a snapshot of the statistics for a <paramref name="resource"/>.</returns> </member> <member name="M:System.Threading.RateLimiting.PartitionedRateLimiter`1.AttemptAcquire(`0,System.Int32)"> <summary> Fast synchronous attempt to acquire permits. </summary> <remarks> Set <paramref name="permitCount"/> to 0 to get whether permits are exhausted. </remarks> <param name="resource">The resource to limit.</param> <param name="permitCount">Number of permits to try and acquire.</param> <returns>A successful or failed lease.</returns> <exception cref="T:System.ArgumentOutOfRangeException"></exception> </member> <member name="M:System.Threading.RateLimiting.PartitionedRateLimiter`1.AttemptAcquireCore(`0,System.Int32)"> <summary> Method that <see cref="T:System.Threading.RateLimiting.PartitionedRateLimiter`1"/> implementations implement for <see cref="M:System.Threading.RateLimiting.PartitionedRateLimiter`1.AttemptAcquire(`0,System.Int32)"/>. </summary> <param name="resource">The resource to limit.</param> <param name="permitCount">Number of permits to try and acquire.</param> <returns></returns> </member> <member name="M:System.Threading.RateLimiting.PartitionedRateLimiter`1.AcquireAsync(`0,System.Int32,System.Threading.CancellationToken)"> <summary> Wait until the requested permits are available or permits can no longer be acquired. </summary> <remarks> Set <paramref name="permitCount"/> to 0 to wait until permits are replenished. </remarks> <param name="resource">The resource to limit.</param> <param name="permitCount">Number of permits to try and acquire.</param> <param name="cancellationToken">Optional token to allow canceling a queued request for permits.</param> <returns>A task that completes when the requested permits are acquired or when the requested permits are denied.</returns> <exception cref="T:System.ArgumentOutOfRangeException"></exception> </member> <member name="M:System.Threading.RateLimiting.PartitionedRateLimiter`1.AcquireAsyncCore(`0,System.Int32,System.Threading.CancellationToken)"> <summary> Method that <see cref="T:System.Threading.RateLimiting.PartitionedRateLimiter`1"/> implementations implement for <see cref="M:System.Threading.RateLimiting.PartitionedRateLimiter`1.AcquireAsync(`0,System.Int32,System.Threading.CancellationToken)"/>. </summary> <param name="resource">The resource to limit.</param> <param name="permitCount">Number of permits to try and acquire.</param> <param name="cancellationToken">Optional token to allow canceling a queued request for permits.</param> <returns>A task that completes when the requested permits are acquired or when the requested permits are denied.</returns> </member> <member name="M:System.Threading.RateLimiting.PartitionedRateLimiter`1.Dispose(System.Boolean)"> <summary> Dispose method for implementations to write. </summary> <param name="disposing"></param> </member> <member name="M:System.Threading.RateLimiting.PartitionedRateLimiter`1.Dispose"> <summary> Disposes the RateLimiter. This completes any queued acquires with a failed lease. </summary> </member> <member name="M:System.Threading.RateLimiting.PartitionedRateLimiter`1.DisposeAsyncCore"> <summary> DisposeAsync method for implementations to write. </summary> </member> <member name="M:System.Threading.RateLimiting.PartitionedRateLimiter`1.DisposeAsync"> <summary> Disposes the RateLimiter asynchronously. </summary> <returns>ValueTask representing the completion of the disposal.</returns> </member> <member name="M:System.Threading.RateLimiting.PartitionedRateLimiter`1.WithTranslatedKey``1(System.Func{``0,`0},System.Boolean)"> <summary> Translates PartitionedRateLimiter<TOuter> into the current <see cref="T:System.Threading.RateLimiting.PartitionedRateLimiter`1"/> using the <paramref name="keyAdapter"/> to translate <typeparamref name="TOuter"/> to <typeparamref name="TResource"/>. </summary> <typeparam name="TOuter">The type to translate into <typeparamref name="TResource"/>.</typeparam> <param name="keyAdapter">The function to be called every time a <typeparamref name="TOuter"/> is passed to PartitionedRateLimiter<TOuter>.Acquire(TOuter, int) or PartitionedRateLimiter<TOuter>.WaitAsync(TOuter, int, CancellationToken). <para /> <remarks><paramref name="keyAdapter"/> should be implemented in a thread-safe way.</remarks></param> <param name="leaveOpen">Specifies whether the returned <see cref="T:System.Threading.RateLimiting.PartitionedRateLimiter`1"/> will dispose the wrapped <see cref="T:System.Threading.RateLimiting.PartitionedRateLimiter`1"/>.</param> <returns>A new PartitionedRateLimiter<TOuter> that translates <typeparamref name="TOuter"/> to <typeparamref name="TResource"/> and calls the inner <see cref="T:System.Threading.RateLimiting.PartitionedRateLimiter`1"/>.</returns> </member> <member name="T:System.Threading.RateLimiting.QueueProcessingOrder"> <summary> Controls the behavior of <see cref="M:System.Threading.RateLimiting.RateLimiter.AcquireAsync(System.Int32,System.Threading.CancellationToken)"/> when not enough resources can be leased. </summary> </member> <member name="F:System.Threading.RateLimiting.QueueProcessingOrder.OldestFirst"> <summary> Lease the oldest queued <see cref="M:System.Threading.RateLimiting.RateLimiter.AcquireAsync(System.Int32,System.Threading.CancellationToken)"/> call. </summary> </member> <member name="F:System.Threading.RateLimiting.QueueProcessingOrder.NewestFirst"> <summary> Lease the newest queued <see cref="M:System.Threading.RateLimiting.RateLimiter.AcquireAsync(System.Int32,System.Threading.CancellationToken)"/> call. </summary> </member> <member name="T:System.Threading.RateLimiting.RateLimiter"> <summary> Represents a limiter type that users interact with to determine if an operation can proceed. </summary> </member> <member name="M:System.Threading.RateLimiting.RateLimiter.GetStatistics"> <summary> Gets a snapshot of the <see cref="T:System.Threading.RateLimiting.RateLimiter"/> statistics if available. </summary> <returns>An instance of <see cref="T:System.Threading.RateLimiting.RateLimiterStatistics"/> containing a snapshot of the <see cref="T:System.Threading.RateLimiting.RateLimiter"/> statistics.</returns> </member> <member name="P:System.Threading.RateLimiting.RateLimiter.IdleDuration"> <summary> Specifies how long the <see cref="T:System.Threading.RateLimiting.RateLimiter"/> has had all permits available. Used by RateLimiter managers that may want to clean up unused RateLimiters. </summary> <remarks> Returns <see langword="null"/> when the <see cref="T:System.Threading.RateLimiting.RateLimiter"/> is in use or is not ready to be idle. </remarks> </member> <member name="M:System.Threading.RateLimiting.RateLimiter.AttemptAcquire(System.Int32)"> <summary> Fast synchronous attempt to acquire permits. </summary> <remarks> Set <paramref name="permitCount"/> to 0 to get whether permits are exhausted. </remarks> <param name="permitCount">Number of permits to try and acquire.</param> <returns>A successful or failed lease.</returns> <exception cref="T:System.ArgumentOutOfRangeException"></exception> </member> <member name="M:System.Threading.RateLimiting.RateLimiter.AttemptAcquireCore(System.Int32)"> <summary> Method that <see cref="T:System.Threading.RateLimiting.RateLimiter"/> implementations implement for <see cref="M:System.Threading.RateLimiting.RateLimiter.AttemptAcquire(System.Int32)"/>. </summary> <param name="permitCount">Number of permits to try and acquire.</param> <returns></returns> </member> <member name="M:System.Threading.RateLimiting.RateLimiter.AcquireAsync(System.Int32,System.Threading.CancellationToken)"> <summary> Wait until the requested permits are available or permits can no longer be acquired. </summary> <remarks> Set <paramref name="permitCount"/> to 0 to wait until permits are replenished. </remarks> <param name="permitCount">Number of permits to try and acquire.</param> <param name="cancellationToken">Optional token to allow canceling a queued request for permits.</param> <returns>A task that completes when the requested permits are acquired or when the requested permits are denied.</returns> <exception cref="T:System.ArgumentOutOfRangeException"></exception> </member> <member name="M:System.Threading.RateLimiting.RateLimiter.AcquireAsyncCore(System.Int32,System.Threading.CancellationToken)"> <summary> Method that <see cref="T:System.Threading.RateLimiting.RateLimiter"/> implementations implement for <see cref="M:System.Threading.RateLimiting.RateLimiter.AcquireAsync(System.Int32,System.Threading.CancellationToken)"/>. </summary> <param name="permitCount">Number of permits to try and acquire.</param> <param name="cancellationToken">Optional token to allow canceling a queued request for permits.</param> <returns>A task that completes when the requested permits are acquired or when the requested permits are denied.</returns> </member> <member name="M:System.Threading.RateLimiting.RateLimiter.Dispose(System.Boolean)"> <summary> Dispose method for implementations to write. </summary> <param name="disposing"></param> </member> <member name="M:System.Threading.RateLimiting.RateLimiter.Dispose"> <summary> Disposes the RateLimiter. This completes any queued acquires with a failed lease. </summary> </member> <member name="M:System.Threading.RateLimiting.RateLimiter.DisposeAsyncCore"> <summary> DisposeAsync method for implementations to write. </summary> </member> <member name="M:System.Threading.RateLimiting.RateLimiter.DisposeAsync"> <summary> Disposes the RateLimiter asynchronously. </summary> <returns>ValueTask representing the completion of the disposal.</returns> </member> <member name="T:System.Threading.RateLimiting.RateLimiterStatistics"> <summary> Snapshot of statistics for a <see cref="T:System.Threading.RateLimiting.RateLimiter"/>. </summary> </member> <member name="M:System.Threading.RateLimiting.RateLimiterStatistics.#ctor"> <summary> Initializes an instance of <see cref="T:System.Threading.RateLimiting.RateLimiterStatistics"/>. </summary> </member> <member name="P:System.Threading.RateLimiting.RateLimiterStatistics.CurrentAvailablePermits"> <summary> Gets the number of permits currently available for the <see cref="T:System.Threading.RateLimiting.RateLimiter"/>. </summary> </member> <member name="P:System.Threading.RateLimiting.RateLimiterStatistics.CurrentQueuedCount"> <summary> Gets the number of queued permits for the <see cref="T:System.Threading.RateLimiting.RateLimiter"/>. </summary> </member> <member name="P:System.Threading.RateLimiting.RateLimiterStatistics.TotalFailedLeases"> <summary> Gets the total number of failed <see cref="T:System.Threading.RateLimiting.RateLimitLease"/>s returned. </summary> </member> <member name="P:System.Threading.RateLimiting.RateLimiterStatistics.TotalSuccessfulLeases"> <summary> Gets the total number of successful <see cref="T:System.Threading.RateLimiting.RateLimitLease"/>s returned. </summary> </member> <member name="T:System.Threading.RateLimiting.RateLimitLease"> <summary> Abstraction for leases returned by <see cref="T:System.Threading.RateLimiting.RateLimiter"/> implementations. A lease represents the success or failure to acquire a resource and contains potential metadata that is relevant to the acquisition operation. </summary> </member> <member name="P:System.Threading.RateLimiting.RateLimitLease.IsAcquired"> <summary> Represents whether lease acquisition was successful. </summary> </member> <member name="M:System.Threading.RateLimiting.RateLimitLease.TryGetMetadata(System.String,System.Object@)"> <summary> Attempt to extract metadata for the lease. </summary> <param name="metadataName">The name of the metadata. Some common ones can be found in <see cref="T:System.Threading.RateLimiting.MetadataName"/>.</param> <param name="metadata">The metadata object if it exists.</param> <returns>True if the metadata exists, otherwise false.</returns> </member> <member name="M:System.Threading.RateLimiting.RateLimitLease.TryGetMetadata``1(System.Threading.RateLimiting.MetadataName{``0},``0@)"> <summary> Attempt to extract a strongly-typed metadata for the lease. </summary> <typeparam name="T">Type of the expected metadata.</typeparam> <param name="metadataName">The name of the strongly-typed metadata. Some common ones can be found in <see cref="T:System.Threading.RateLimiting.MetadataName"/>.</param> <param name="metadata">The strongly-typed metadata object if it exists.</param> <returns>True if the metadata exists, otherwise false.</returns> </member> <member name="P:System.Threading.RateLimiting.RateLimitLease.MetadataNames"> <summary> Gets a list of the metadata names that are available on the lease. </summary> </member> <member name="M:System.Threading.RateLimiting.RateLimitLease.GetAllMetadata"> <summary> Gets a list of all the metadata that is available on the lease. </summary> <returns>List of key-value pairs of metadata name and metadata object.</returns> </member> <member name="M:System.Threading.RateLimiting.RateLimitLease.Dispose"> <summary> Dispose the lease. This may free up space on the limiter implementation the lease came from. </summary> </member> <member name="M:System.Threading.RateLimiting.RateLimitLease.Dispose(System.Boolean)"> <summary> Dispose method for implementations to write. </summary> <param name="disposing"></param> </member> <member name="T:System.Threading.RateLimiting.RateLimitPartition"> <summary> Contains methods used in <see cref="M:System.Threading.RateLimiting.PartitionedRateLimiter.Create``2(System.Func{``0,System.Threading.RateLimiting.RateLimitPartition{``1}},System.Collections.Generic.IEqualityComparer{``1})"/> to assist in the creation of partitions for your rate limiter. </summary> </member> <member name="M:System.Threading.RateLimiting.RateLimitPartition.Get``1(``0,System.Func{``0,System.Threading.RateLimiting.RateLimiter})"> <summary> Defines a partition with the given rate limiter factory. </summary> <typeparam name="TKey">The type to distinguish partitions with.</typeparam> <remarks> The <paramref name="factory"/> should return a new instance of a rate limiter every time it is called. </remarks> <param name="partitionKey">The specific key for this partition. This will be used to check for an existing cached limiter before calling the <paramref name="factory"/>.</param> <param name="factory">The function called when a rate limiter for the given <paramref name="partitionKey"/> is needed. This should be a new instance of a rate limiter every time it is called.</param> <returns></returns> </member> <member name="M:System.Threading.RateLimiting.RateLimitPartition.GetConcurrencyLimiter``1(``0,System.Func{``0,System.Threading.RateLimiting.ConcurrencyLimiterOptions})"> <summary> Defines a partition with a <see cref="T:System.Threading.RateLimiting.ConcurrencyLimiter"/> with the given <see cref="T:System.Threading.RateLimiting.ConcurrencyLimiterOptions"/>. </summary> <typeparam name="TKey">The type to distinguish partitions with.</typeparam> <param name="partitionKey">The specific key for this partition. This will be used to check for an existing cached limiter before calling the <paramref name="factory"/>.</param> <param name="factory">The function called when a rate limiter for the given <paramref name="partitionKey"/> is needed. This can return the same instance of <see cref="T:System.Threading.RateLimiting.ConcurrencyLimiterOptions"/> across different calls.</param> <returns></returns> </member> <member name="M:System.Threading.RateLimiting.RateLimitPartition.GetNoLimiter``1(``0)"> <summary> Defines a partition that will not have a rate limiter. This means any calls to <see cref="M:System.Threading.RateLimiting.PartitionedRateLimiter`1.AttemptAcquire(`0,System.Int32)"/> or <see cref="M:System.Threading.RateLimiting.PartitionedRateLimiter`1.AcquireAsync(`0,System.Int32,System.Threading.CancellationToken)"/> will always succeed for the given <paramref name="partitionKey"/>. </summary> <typeparam name="TKey">The type to distinguish partitions with.</typeparam> <param name="partitionKey">The specific key for this partition.</param> <returns></returns> </member> <member name="M:System.Threading.RateLimiting.RateLimitPartition.GetTokenBucketLimiter``1(``0,System.Func{``0,System.Threading.RateLimiting.TokenBucketRateLimiterOptions})"> <summary> Defines a partition with a <see cref="T:System.Threading.RateLimiting.TokenBucketRateLimiter"/> with the given <see cref="T:System.Threading.RateLimiting.TokenBucketRateLimiterOptions"/>. </summary> <remarks> Set <see cref="P:System.Threading.RateLimiting.TokenBucketRateLimiterOptions.AutoReplenishment"/> to <see langword="false"/> to save an allocation. This method will create a new options type and set <see cref="P:System.Threading.RateLimiting.TokenBucketRateLimiterOptions.AutoReplenishment"/> to <see langword="false"/> otherwise. </remarks> <typeparam name="TKey">The type to distinguish partitions with.</typeparam> <param name="partitionKey">The specific key for this partition.</param> <param name="factory">The function called when a rate limiter for the given <paramref name="partitionKey"/> is needed. This can return the same instance of <see cref="T:System.Threading.RateLimiting.TokenBucketRateLimiterOptions"/> across different calls.</param> <returns></returns> </member> <member name="M:System.Threading.RateLimiting.RateLimitPartition.GetSlidingWindowLimiter``1(``0,System.Func{``0,System.Threading.RateLimiting.SlidingWindowRateLimiterOptions})"> <summary> Defines a partition with a <see cref="T:System.Threading.RateLimiting.SlidingWindowRateLimiter"/> with the given <see cref="T:System.Threading.RateLimiting.SlidingWindowRateLimiterOptions"/>. </summary> <remarks> Set <see cref="P:System.Threading.RateLimiting.SlidingWindowRateLimiterOptions.AutoReplenishment"/> to <see langword="false"/> to save an allocation. This method will create a new options type and set <see cref="P:System.Threading.RateLimiting.SlidingWindowRateLimiterOptions.AutoReplenishment"/> to <see langword="false"/> otherwise. </remarks> <typeparam name="TKey">The type to distinguish partitions with.</typeparam> <param name="partitionKey">The specific key for this partition.</param> <param name="factory">The function called when a rate limiter for the given <paramref name="partitionKey"/> is needed. This can return the same instance of <see cref="T:System.Threading.RateLimiting.SlidingWindowRateLimiterOptions"/> across different calls.</param> <returns></returns> </member> <member name="M:System.Threading.RateLimiting.RateLimitPartition.GetFixedWindowLimiter``1(``0,System.Func{``0,System.Threading.RateLimiting.FixedWindowRateLimiterOptions})"> <summary> Defines a partition with a <see cref="T:System.Threading.RateLimiting.FixedWindowRateLimiter"/> with the given <see cref="T:System.Threading.RateLimiting.FixedWindowRateLimiterOptions"/>. </summary> <remarks> Set <see cref="P:System.Threading.RateLimiting.FixedWindowRateLimiterOptions.AutoReplenishment"/> to <see langword="false"/> to save an allocation. This method will create a new options type and set <see cref="P:System.Threading.RateLimiting.FixedWindowRateLimiterOptions.AutoReplenishment"/> to <see langword="false"/> otherwise. </remarks> <typeparam name="TKey">The type to distinguish partitions with.</typeparam> <param name="partitionKey">The specific key for this partition.</param> <param name="factory">The function called when a rate limiter for the given <paramref name="partitionKey"/> is needed. This can return the same instance of <see cref="T:System.Threading.RateLimiting.FixedWindowRateLimiterOptions"/> across different calls.</param> <returns></returns> </member> <member name="T:System.Threading.RateLimiting.RateLimitPartition`1"> <summary> Type returned by <see cref="M:System.Threading.RateLimiting.RateLimitPartition.Get``1(``0,System.Func{``0,System.Threading.RateLimiting.RateLimiter})"/> methods to be used by <see cref="M:System.Threading.RateLimiting.PartitionedRateLimiter.Create``2(System.Func{``0,System.Threading.RateLimiting.RateLimitPartition{``1}},System.Collections.Generic.IEqualityComparer{``1})"/> to know what partitions are configured. </summary> <typeparam name="TKey">The type to distinguish partitions with.</typeparam> </member> <member name="M:System.Threading.RateLimiting.RateLimitPartition`1.#ctor(`0,System.Func{`0,System.Threading.RateLimiting.RateLimiter})"> <summary> Constructs the <see cref="T:System.Threading.RateLimiting.RateLimitPartition`1"/> for use in <see cref="M:System.Threading.RateLimiting.PartitionedRateLimiter.Create``2(System.Func{``0,System.Threading.RateLimiting.RateLimitPartition{``1}},System.Collections.Generic.IEqualityComparer{``1})"/>. </summary> <param name="partitionKey">The specific key for this partition.</param> <param name="factory">The function called when a rate limiter for the given <paramref name="partitionKey"/> is needed.</param> </member> <member name="P:System.Threading.RateLimiting.RateLimitPartition`1.PartitionKey"> <summary> The specific key for this partition. </summary> </member> <member name="P:System.Threading.RateLimiting.RateLimitPartition`1.Factory"> <summary> The function called when a rate limiter for the given partitionKey is needed. </summary> </member> <member name="T:System.Threading.RateLimiting.ReplenishingRateLimiter"> <summary> Abstraction that specifies that the <see cref="T:System.Threading.RateLimiting.RateLimiter"/> implementation is capable of replenishing tokens. </summary> </member> <member name="P:System.Threading.RateLimiting.ReplenishingRateLimiter.ReplenishmentPeriod"> <summary> Specifies how often the <see cref="T:System.Threading.RateLimiting.ReplenishingRateLimiter"/> will replenish tokens. If <see cref="P:System.Threading.RateLimiting.ReplenishingRateLimiter.IsAutoReplenishing"/> is <see langword="false"/> then this is how often <see cref="M:System.Threading.RateLimiting.ReplenishingRateLimiter.TryReplenish"/> should be called. </summary> </member> <member name="P:System.Threading.RateLimiting.ReplenishingRateLimiter.IsAutoReplenishing"> <summary> Specifies if the <see cref="T:System.Threading.RateLimiting.ReplenishingRateLimiter"/> is automatically replenishing its tokens or if it expects an external source to regularly call <see cref="M:System.Threading.RateLimiting.ReplenishingRateLimiter.TryReplenish"/>. </summary> </member> <member name="M:System.Threading.RateLimiting.ReplenishingRateLimiter.TryReplenish"> <summary> Attempts to replenish tokens. </summary> <returns> Generally returns <see langword="false"/> if <see cref="P:System.Threading.RateLimiting.ReplenishingRateLimiter.IsAutoReplenishing"/> is enabled or if no tokens were replenished. Otherwise <see langword="true"/>. </returns> </member> <member name="T:System.Threading.RateLimiting.SlidingWindowRateLimiter"> <summary> <see cref="T:System.Threading.RateLimiting.RateLimiter"/> implementation that replenishes permit counters periodically instead of via a release mechanism. </summary> </member> <member name="P:System.Threading.RateLimiting.SlidingWindowRateLimiter.IdleDuration"> <inheritdoc /> </member> <member name="P:System.Threading.RateLimiting.SlidingWindowRateLimiter.IsAutoReplenishing"> <inheritdoc /> </member> <member name="P:System.Threading.RateLimiting.SlidingWindowRateLimiter.ReplenishmentPeriod"> <inheritdoc /> </member> <member name="M:System.Threading.RateLimiting.SlidingWindowRateLimiter.#ctor(System.Threading.RateLimiting.SlidingWindowRateLimiterOptions)"> <summary> Initializes the <see cref="T:System.Threading.RateLimiting.SlidingWindowRateLimiter"/>. </summary> <param name="options">Options to specify the behavior of the <see cref="T:System.Threading.RateLimiting.SlidingWindowRateLimiter"/>.</param> </member> <member name="M:System.Threading.RateLimiting.SlidingWindowRateLimiter.GetStatistics"> <inheritdoc/> </member> <member name="M:System.Threading.RateLimiting.SlidingWindowRateLimiter.AttemptAcquireCore(System.Int32)"> <inheritdoc/> </member> <member name="M:System.Threading.RateLimiting.SlidingWindowRateLimiter.AcquireAsyncCore(System.Int32,System.Threading.CancellationToken)"> <inheritdoc/> </member> <member name="M:System.Threading.RateLimiting.SlidingWindowRateLimiter.TryReplenish"> <summary> Attempts to replenish request counters in a window. </summary> <returns> False if <see cref="P:System.Threading.RateLimiting.SlidingWindowRateLimiterOptions.AutoReplenishment"/> is enabled, otherwise true. Does not reflect if permits were replenished. </returns> </member> <member name="M:System.Threading.RateLimiting.SlidingWindowRateLimiter.Dispose(System.Boolean)"> <inheritdoc /> </member> <member name="M:System.Threading.RateLimiting.SlidingWindowRateLimiter.DisposeAsyncCore"> <inheritdoc /> </member> <member name="T:System.Threading.RateLimiting.SlidingWindowRateLimiter.RequestRegistration.Disposer"> <summary> Collects registrations to dispose outside the limiter lock to avoid deadlock. </summary> </member> <member name="T:System.Threading.RateLimiting.SlidingWindowRateLimiterOptions"> <summary> Options to specify the behavior of a <see cref="T:System.Threading.RateLimiting.SlidingWindowRateLimiter"/>. </summary> </member> <member name="P:System.Threading.RateLimiting.SlidingWindowRateLimiterOptions.Window"> <summary> Specifies the minimum period between replenishments. Must be set to a value greater than <see cref="F:System.TimeSpan.Zero" /> by the time these options are passed to the constructor of <see cref="T:System.Threading.RateLimiting.SlidingWindowRateLimiter"/>. </summary> </member> <member name="P:System.Threading.RateLimiting.SlidingWindowRateLimiterOptions.SegmentsPerWindow"> <summary> Specifies the maximum number of segments a window is divided into. Must be set to a value > 0 by the time these options are passed to the constructor of <see cref="T:System.Threading.RateLimiting.SlidingWindowRateLimiter"/>. </summary> </member> <member name="P:System.Threading.RateLimiting.SlidingWindowRateLimiterOptions.AutoReplenishment"> <summary> Specified whether the <see cref="T:System.Threading.RateLimiting.SlidingWindowRateLimiter"/> is automatically replenishing request counters or if someone else will be calling <see cref="M:System.Threading.RateLimiting.SlidingWindowRateLimiter.TryReplenish"/> to replenish tokens. </summary> <value> <see langword="true" /> by default. </value> </member> <member name="P:System.Threading.RateLimiting.SlidingWindowRateLimiterOptions.PermitLimit"> <summary> Maximum number of requests that can be served in a window. Must be set to a value > 0 by the time these options are passed to the constructor of <see cref="T:System.Threading.RateLimiting.SlidingWindowRateLimiter"/>. </summary> </member> <member name="P:System.Threading.RateLimiting.SlidingWindowRateLimiterOptions.QueueProcessingOrder"> <summary> Determines the behaviour of <see cref="M:System.Threading.RateLimiting.RateLimiter.AcquireAsync(System.Int32,System.Threading.CancellationToken)"/> when not enough resources can be leased. </summary> <value> <see cref="F:System.Threading.RateLimiting.QueueProcessingOrder.OldestFirst"/> by default. </value> </member> <member name="P:System.Threading.RateLimiting.SlidingWindowRateLimiterOptions.QueueLimit"> <summary> Maximum cumulative permit count of queued acquisition requests. Must be set to a value >= 0 by the time these options are passed to the constructor of <see cref="T:System.Threading.RateLimiting.SlidingWindowRateLimiter"/>. </summary> </member> <member name="T:System.Threading.RateLimiting.TokenBucketRateLimiter"> <summary> <see cref="T:System.Threading.RateLimiting.RateLimiter"/> implementation that replenishes tokens periodically instead of via a release mechanism. </summary> </member> <member name="P:System.Threading.RateLimiting.TokenBucketRateLimiter.IdleDuration"> <inheritdoc /> </member> <member name="P:System.Threading.RateLimiting.TokenBucketRateLimiter.IsAutoReplenishing"> <inheritdoc /> </member> <member name="P:System.Threading.RateLimiting.TokenBucketRateLimiter.ReplenishmentPeriod"> <inheritdoc /> </member> <member name="M:System.Threading.RateLimiting.TokenBucketRateLimiter.#ctor(System.Threading.RateLimiting.TokenBucketRateLimiterOptions)"> <summary> Initializes the <see cref="T:System.Threading.RateLimiting.TokenBucketRateLimiter"/>. </summary> <param name="options">Options to specify the behavior of the <see cref="T:System.Threading.RateLimiting.TokenBucketRateLimiter"/>.</param> </member> <member name="M:System.Threading.RateLimiting.TokenBucketRateLimiter.GetStatistics"> <inheritdoc/> </member> <member name="M:System.Threading.RateLimiting.TokenBucketRateLimiter.AttemptAcquireCore(System.Int32)"> <inheritdoc/> </member> <member name="M:System.Threading.RateLimiting.TokenBucketRateLimiter.AcquireAsyncCore(System.Int32,System.Threading.CancellationToken)"> <inheritdoc/> </member> <member name="M:System.Threading.RateLimiting.TokenBucketRateLimiter.TryReplenish"> <summary> Attempts to replenish the bucket. </summary> <returns> <see langword="false"/> if <see cref="P:System.Threading.RateLimiting.TokenBucketRateLimiterOptions.AutoReplenishment"/> is enabled, otherwise <see langword="true"/>. Does not reflect if tokens were replenished. </returns> </member> <member name="M:System.Threading.RateLimiting.TokenBucketRateLimiter.Dispose(System.Boolean)"> <inheritdoc /> </member> <member name="M:System.Threading.RateLimiting.TokenBucketRateLimiter.DisposeAsyncCore"> <inheritdoc /> </member> <member name="T:System.Threading.RateLimiting.TokenBucketRateLimiter.RequestRegistration.Disposer"> <summary> Collects registrations to dispose outside the limiter lock to avoid deadlock. </summary> </member> <member name="T:System.Threading.RateLimiting.TokenBucketRateLimiterOptions"> <summary> Options to control the behavior of a <see cref="T:System.Threading.RateLimiting.TokenBucketRateLimiter"/>. </summary> </member> <member name="P:System.Threading.RateLimiting.TokenBucketRateLimiterOptions.ReplenishmentPeriod"> <summary> Specifies the minimum period between replenishments. Must be set to a value greater than <see cref="F:System.TimeSpan.Zero" /> by the time these options are passed to the constructor of <see cref="T:System.Threading.RateLimiting.TokenBucketRateLimiter"/>. </summary> </member> <member name="P:System.Threading.RateLimiting.TokenBucketRateLimiterOptions.TokensPerPeriod"> <summary> Specifies the maximum number of tokens to restore each replenishment. Must be set to a value > 0 by the time these options are passed to the constructor of <see cref="T:System.Threading.RateLimiting.TokenBucketRateLimiter"/>. </summary> </member> <member name="P:System.Threading.RateLimiting.TokenBucketRateLimiterOptions.AutoReplenishment"> <summary> Specified whether the <see cref="T:System.Threading.RateLimiting.TokenBucketRateLimiter"/> is automatically replenishing tokens or if someone else will be calling <see cref="M:System.Threading.RateLimiting.TokenBucketRateLimiter.TryReplenish"/> to replenish tokens. </summary> <value> <see langword="true" /> by default. </value> </member> <member name="P:System.Threading.RateLimiting.TokenBucketRateLimiterOptions.TokenLimit"> <summary> Maximum number of tokens that can be in the bucket at any time. Must be set to a value > 0 by the time these options are passed to the constructor of <see cref="T:System.Threading.RateLimiting.TokenBucketRateLimiter"/>. </summary> </member> <member name="P:System.Threading.RateLimiting.TokenBucketRateLimiterOptions.QueueProcessingOrder"> <summary> Determines the behaviour of <see cref="M:System.Threading.RateLimiting.RateLimiter.AcquireAsync(System.Int32,System.Threading.CancellationToken)"/> when not enough resources can be leased. </summary> <value> <see cref="F:System.Threading.RateLimiting.QueueProcessingOrder.OldestFirst"/> by default. </value> </member> <member name="P:System.Threading.RateLimiting.TokenBucketRateLimiterOptions.QueueLimit"> <summary> Maximum cumulative token count of queued acquisition requests. Must be set to a value >= 0 by the time these options are passed to the constructor of <see cref="T:System.Threading.RateLimiting.TokenBucketRateLimiter"/>. </summary> </member> <member name="T:System.Collections.Generic.Deque`1"> <summary>Provides a double-ended queue data structure.</summary> <typeparam name="T">Type of the data stored in the dequeue.</typeparam> </member> <member name="P:System.SR.TokenLimitExceeded"> <summary>{0} token(s) exceeds the token limit of {1}.</summary> </member> <member name="P:System.SR.PermitLimitExceeded"> <summary>{0} permit(s) exceeds the permit limit of {1}.</summary> </member> <member name="P:System.SR.ReplenishmentLimitTooHigh"> <summary>Over 49 days is not supported.</summary> </member> <member name="P:System.SR.ShouldBeGreaterThan0"> <summary>{0} must be set to a value greater than 0.</summary> </member> <member name="P:System.SR.ShouldBeGreaterThanOrEqual0"> <summary>{0} must be set to a value greater than or equal to 0.</summary> </member> <member name="P:System.SR.ShouldBeGreaterThanTimeSpan0"> <summary>{0} must be set to a value greater than TimeSpan.Zero.</summary> </member> </members> </doc>