Class CannotWaitForObserverCompletion

Namespace
Cratis.Chronicle.Observation
Assembly
Cratis.Chronicle.dll

The exception that is thrown when observer completion is waited for on an append result that carries no observer surface.

public class CannotWaitForObserverCompletion : Exception, ISerializable
Inheritance
CannotWaitForObserverCompletion
Implements
Inherited Members
Extension Methods

Remarks

Waiting is only meaningful against a connection that actually has observers behind it. The in-process testing surfaces (EventScenario, EventStoreForTesting) run the event sequence without a silo, so no projection, reducer or reactor ever runs from an append there and there is nothing whose completion could be observed. Reporting success would let a spec assert that downstream work finished when none of it was ever started, so the wait fails by name instead - assert on the scenario's own surface, or move the spec to an out-of-process integration spec where observers genuinely run.

Constructors

CannotWaitForObserverCompletion(EventStoreName, EventSequenceId)

The exception that is thrown when observer completion is waited for on an append result that carries no observer surface.

public CannotWaitForObserverCompletion(EventStoreName eventStore, EventSequenceId eventSequenceId)

Parameters

eventStore EventStoreName

The EventStoreName the append targeted.

eventSequenceId EventSequenceId

The EventSequenceId the append targeted.

Remarks

Waiting is only meaningful against a connection that actually has observers behind it. The in-process testing surfaces (EventScenario, EventStoreForTesting) run the event sequence without a silo, so no projection, reducer or reactor ever runs from an append there and there is nothing whose completion could be observed. Reporting success would let a spec assert that downstream work finished when none of it was ever started, so the wait fails by name instead - assert on the scenario's own surface, or move the spec to an out-of-process integration spec where observers genuinely run.