Namespace Cratis.Chronicle.Reactors

Classes

CannotResolveReactorMethodArgument

The exception that is thrown when an argument for a reactor handler method cannot be resolved because it is neither the event, the EventContext, a known read model, nor available from the service provider.

DeliveryId

Concept that represents the stable identity of the delivery of one event to one reactor partition.

EventHandlerMethods

Extension methods for working with event handler methods.

InvalidReactorHandlerReturnType

Exception that gets thrown when a reactor handler method has an unsupported return type.

NoEventTypesForReactor

The exception that is thrown when a runtime reactor has no event types to observe.

NullReactorInvoker

Represents a null implementation of IReactorInvoker that does nothing.

OnceOnlyAttribute

Attribute used to mark a reactor class or individual handler methods as non-replayable. When applied to a class, the entire reactor is excluded from all replay operations (redaction, revision, observer rewind). When applied to a method, only that handler is excluded from replay.

ReactorAlreadyRegistered

The exception that is thrown when a reactor identifier is already registered in this client.

ReactorAttribute

Attribute used to adorn classes to tell Cratis that the class is an Reactor.

ReactorDefinitionBuilder

Builds a runtime reactor subscription.

ReactorDelivery

Represents the identity of the delivery of one event to one reactor partition.

ReactorDoesNotExist

Exception that gets thrown when an Reactor does not exist.

ReactorEvent

Represents an event delivered to a runtime-registered reactor without CLR event deserialization.

ReactorHandler

Represents a handler of Reactors.

ReactorId

Concept that represents the unique identifier of an Reactor.

ReactorInvocationResult

Represents the result of invoking a reactor, containing both exception state and side-effect failures.

ReactorInvoker

Represents an implementation of IReactorInvoker.

ReactorMethodArgumentsResolver

Represents an implementation of IReactorMethodArgumentsResolver.

ReactorMiddlewares

Represents an implementation of IReactorMiddlewares.

ReactorMiddlewaresActivator

Represents an implementation of IReactorMiddlewares.

ReactorObservationStreamFailed

Exception that gets thrown when a reactor observation stream fails unexpectedly.

ReactorOptions

Represents the options for how the client runs reactors.

ReactorPartitionRecoveryExtensions

Adds typed failed-partition recovery without changing the existing IReactors contract.

ReactorPartitionRecoveryNotSupported

The exception that is thrown when a reactor registry does not provide partition recovery.

ReactorState

Represents the state of a reactor.

ReactorTypeExtensions

Extension methods for working with Reactors and type discovery.

ReactorWaitExtensions

Helper extensions providing wait methods for projections.

Reactors

Represents an implementation of IReactors.

RegisteredReactorExtensions

Provides unconstrained siblings of the legacy marker-based reactor operations for plain registered classes.

ReplayAttribute

Attribute used to mark a reactor handler method as the one to run while events are being replayed.

StartAtTailAttribute

Attribute used to mark a reactor class as one that should not observe history that predates its first registration. The reactor begins at the tail of the event sequence the first time Chronicle sees it, and observes only what is appended from then on.

UnhandledReactorReturnValue

The exception that is thrown when no side-effect handler can process a reactor's returned value.

UnknownReactorId

Exception that gets thrown when an Reactor identifier is unknown.

UnknownReactorType

Exception that gets thrown when a type is not an Reactor.

Interfaces

IActivateReactorMiddlewares

Defines a system for activating IReactorMiddlewares from the IServiceProvider.

ICanResolveReadModelKey

Defines a system that resolves the ReadModelKey to use when a reactor handler method takes a read model as a dependency.

IReactor

Defines a Reactor.

IReactorBuilder

Defines a builder for declaring a reactor fluently, with handlers for the events it reacts to.

IReactorDefinition

Defines a reactor declared fluently through an IReactorBuilder, which can be inspected before and after it is registered.

IReactorDefinitionBuilder

Builds the subscription for a runtime-registered reactor.

IReactorHandler

Defines a system that handle events for a specific reactor.

IReactorInvoker

Defines the invoker for an ReactorHandler.

IReactorMethodArgumentsResolver

Defines a system that resolves the arguments to pass to a reactor handler method.

IReactorMiddleware

Defines a middleware that can be called during the observing of events.

IReactorMiddlewares

Defines a system for working with middlewares that can be called during the observing of events.

IReactorPartitionRecovery

Defines the optional capability to retry a failed partition for a reactor.

IReactors

Defines a system for working with Reactor registrations for the Kernel.