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
optionsRequestRateAlgorithmOptions
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
cancellationTokenCancellationToken
Returns
ChangeRateLimit(int, CancellationToken)
public Task ChangeRateLimit(int newRateLimit, CancellationToken cancellationToken = default)
  Parameters
newRateLimitintcancellationTokenCancellationToken
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
requestCallbackRequestRateAlgorithm.RequestCallbackcancellationTokenCancellationToken
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
requestCallbackRequestRateAlgorithm.RequestCallback<T>resultCallbackRequestRateAlgorithm.ResultCallback<T>cancellationTokenCancellationToken
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
requestCallbackRequestRateAlgorithm.RequestCallback<T>resultCallbackRequestRateAlgorithm.ResultCallback<T>groupCallbackRequestRateAlgorithm.GroupCallback<T, TKey>orderCallbackRequestRateAlgorithm.OrderCallback<T>cancellationTokenCancellationToken
Returns
Type Parameters
TTKey