Class IncompatibleConcurrencyScopesForEventSource
- Assembly
- Cratis.Chronicle.dll
The exception that is thrown when a batch appended through event source definitions needs different concurrency guards for the same event source id, which the append protocol cannot represent.
public class IncompatibleConcurrencyScopesForEventSource : Exception, ISerializable
- Inheritance
-
IncompatibleConcurrencyScopesForEventSource
- Implements
- Inherited Members
- Extension Methods
Remarks
An append carries one concurrency scope per event source id. Rather than guarding one of the events and silently leaving the others unguarded, or widening the guard beyond what any definition asked for, the append is rejected before anything is written. Supply an explicit scope for the event source id that suits every event in the batch, or append the events in separate batches.
Constructors
IncompatibleConcurrencyScopesForEventSource(EventSourceId, IReadOnlyList<ConcurrencyScope>)
The exception that is thrown when a batch appended through event source definitions needs different concurrency guards for the same event source id, which the append protocol cannot represent.
public IncompatibleConcurrencyScopesForEventSource(EventSourceId eventSourceId, IReadOnlyList<ConcurrencyScope> scopes)
Parameters
eventSourceIdEventSourceIdThe EventSourceId that the guards compete for.
scopesIReadOnlyList<ConcurrencyScope>The distinct guards that were required.
Remarks
An append carries one concurrency scope per event source id. Rather than guarding one of the events and silently leaving the others unguarded, or widening the guard beyond what any definition asked for, the append is rejected before anything is written. Supply an explicit scope for the event source id that suits every event in the batch, or append the events in separate batches.
Properties
EventSourceId
Gets the EventSourceId that the guards compete for.
public EventSourceId EventSourceId { get; }
Property Value
Scopes
Gets the distinct guards that were required.
public IReadOnlyList<ConcurrencyScope> Scopes { get; }