Table of Contents

Class AsyncConcurrencyStrategyBase<TInput>

Namespace
SodaFlow.Async
Assembly
SodaFlow.Core.Async.dll

The face of a strategy that is not generic over TState. It is the type that MapAsyncImpl<TInput, TResult, TStrategyInput>(Stream<TInput>, StreamSink<TResult>, StreamSink<Exception>, MapAsyncOperation<TInput, TResult>, AsyncConcurrencyStrategyBase<TStrategyInput>, Func<TInput, TStrategyInput>, Stream<UnitInternal>, Stream<IReadOnlyCollection<TInput>>, bool) and its overloads accept. This keeps the TState of a strategy out of each MapAsync signature. A caller and the execution engine see only AsyncConcurrencyStrategyBase<TInput>, and never AsyncConcurrencyStrategy<TInput, TState>. The internal constructor prevents an external subclass. To write a custom strategy, subclass AsyncConcurrencyStrategy<TInput, TState>.

[PublicAPI]
public abstract class AsyncConcurrencyStrategyBase<TInput> : AsyncMapBase

Type Parameters

TInput
Inheritance
AsyncConcurrencyStrategyBase<TInput>
Derived
AsyncConcurrencyStrategy<TInput, TState>
Inherited Members
Extension Methods