Class RequestRateAlgorithm
- Namespace
- MassTransit.Util
- Assembly
- MassTransit.Abstractions.dll
public class RequestRateAlgorithm : IDisposable
- Inheritance
-
RequestRateAlgorithm
- Implements
- Inherited Members
Constructors
RequestRateAlgorithm(RequestRateAlgorithmOptions)
public RequestRateAlgorithm(RequestRateAlgorithmOptions options)
Parameters
options
RequestRateAlgorithmOptions
Properties
ActiveRequestCount
The current active request count
public int ActiveRequestCount { get; }
Property Value
MaxActiveRequestCount
The maximum number of active requests that were made concurrently
public int MaxActiveRequestCount { get; }
Property Value
RequestCount
The number of concurrent requests that should be performed based upon current response volume
public int RequestCount { get; }
Property Value
ResultLimit
The number of results that should be requested for each request
public int ResultLimit { get; }
Property Value
Methods
BeginRequest(CancellationToken)
public Task<ActiveRequest> BeginRequest(CancellationToken cancellationToken = default)
Parameters
cancellationToken
CancellationToken
Returns
ChangeRateLimit(int, CancellationToken)
public Task ChangeRateLimit(int newRateLimit, CancellationToken cancellationToken = default)
Parameters
newRateLimit
intcancellationToken
CancellationToken
Returns
Dispose()
public void Dispose()
Run(RequestCallback, CancellationToken)
Run a series of requests, up the limits, as a single pass
public Task Run(RequestRateAlgorithm.RequestCallback requestCallback, CancellationToken cancellationToken = default)
Parameters
requestCallback
RequestRateAlgorithm.RequestCallbackcancellationToken
CancellationToken
Returns
Run<T>(RequestCallback<T>, ResultCallback<T>, CancellationToken)
Run a series of requests, up the limits, as a single pass
public Task Run<T>(RequestRateAlgorithm.RequestCallback<T> requestCallback, RequestRateAlgorithm.ResultCallback<T> resultCallback, CancellationToken cancellationToken = default)
Parameters
requestCallback
RequestRateAlgorithm.RequestCallback<T>resultCallback
RequestRateAlgorithm.ResultCallback<T>cancellationToken
CancellationToken
Returns
Type Parameters
T
Run<T, TKey>(RequestCallback<T>, ResultCallback<T>, GroupCallback<T, TKey>, OrderCallback<T>, CancellationToken)
Run a series of requests, up the limits, as a single pass
public Task Run<T, TKey>(RequestRateAlgorithm.RequestCallback<T> requestCallback, RequestRateAlgorithm.ResultCallback<T> resultCallback, RequestRateAlgorithm.GroupCallback<T, TKey> groupCallback, RequestRateAlgorithm.OrderCallback<T> orderCallback, CancellationToken cancellationToken = default)
Parameters
requestCallback
RequestRateAlgorithm.RequestCallback<T>resultCallback
RequestRateAlgorithm.ResultCallback<T>groupCallback
RequestRateAlgorithm.GroupCallback<T, TKey>orderCallback
RequestRateAlgorithm.OrderCallback<T>cancellationToken
CancellationToken
Returns
Type Parameters
T
TKey