Table of Contents

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

int

MaxActiveRequestCount

The maximum number of active requests that were made concurrently

public int MaxActiveRequestCount { get; }

Property Value

int

RequestCount

The number of concurrent requests that should be performed based upon current response volume

public int RequestCount { get; }

Property Value

int

ResultLimit

The number of results that should be requested for each request

public int ResultLimit { get; }

Property Value

int

Methods

BeginRequest(CancellationToken)

public Task<ActiveRequest> BeginRequest(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

Task<ActiveRequest>

ChangeRateLimit(int, CancellationToken)

public Task ChangeRateLimit(int newRateLimit, CancellationToken cancellationToken = default)

Parameters

newRateLimit int
cancellationToken CancellationToken

Returns

Task

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.RequestCallback
cancellationToken CancellationToken

Returns

Task

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

Task

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

Task

Type Parameters

T
TKey