Class ConcurrencyScopeStrategies

Namespace
Cratis.Chronicle.EventSequences.Concurrency
Assembly
Cratis.Chronicle.dll

Represents an implementation of IConcurrencyScopeStrategies that provides concurrency strategies based on configuration options.

public class ConcurrencyScopeStrategies : IConcurrencyScopeStrategies
Inheritance
ConcurrencyScopeStrategies
Implements
Inherited Members
Extension Methods

Constructors

ConcurrencyScopeStrategies(ConcurrencyOptions, IServiceProvider)

Initializes a new instance of the ConcurrencyScopeStrategies class without append diagnostics.

public ConcurrencyScopeStrategies(ConcurrencyOptions options, IServiceProvider serviceProvider)

Parameters

options ConcurrencyOptions

The concurrency configuration.

serviceProvider IServiceProvider

The provider used to resolve strategies.

ConcurrencyScopeStrategies(ConcurrencyOptions, IServiceProvider, ILoggerFactory?)

Represents an implementation of IConcurrencyScopeStrategies that provides concurrency strategies based on configuration options.

public ConcurrencyScopeStrategies(ConcurrencyOptions options, IServiceProvider serviceProvider, ILoggerFactory? loggerFactory)

Parameters

options ConcurrencyOptions

The ConcurrencyOptions containing the concurrency configuration.

serviceProvider IServiceProvider

The IServiceProvider to resolve the concurrency strategy.

loggerFactory ILoggerFactory

Optional ILoggerFactory for explicit append scope diagnostics.

Properties

Options

Gets the append concurrency options, including explicit-scope compatibility switches.

public ConcurrencyOptions Options { get; }

Property Value

ConcurrencyOptions

Methods

GetFor(IEventSequence)

Gets the appropriate IConcurrencyScopeStrategy for the given IEventSequence.

public IConcurrencyScopeStrategy GetFor(IEventSequence eventSequence)

Parameters

eventSequence IEventSequence

The IEventSequence for which to get the concurrency scope strategy.

Returns

IConcurrencyScopeStrategy

An instance of IConcurrencyScopeStrategy that can be used to manage concurrency for the specified event sequence.