Header menu logo FCQRS

Common Module

Contains common types like Events and Commands

Types and nested modules

Type/Module Description

CommandHandler

(Internal) Contains the implementation for command subscriptions.

Curry

SagaBuilder

Contains types and functions for building and initializing sagas

SagaStarter

Contains types and functions related to the Saga Starter actor (internal implementation detail).

AbortedEvent

Command<'CommandDetails>

Represents a command to be processed by an aggregate actor. The specific type of the command payload.

ContinueOrAbort<'EventDetails>

Event<'EventDetails>

Represents an event generated by an aggregate actor as a result of processing a command. The specific type of the event payload.

EventAction<'T>

Defines the possible actions an aggregate or saga actor can take after processing a command or event. The type of the event payload associated with the action (e.g., for PersistEvent).

ExecuteCommand

Represents a command to be executed, often scheduled or triggered by a saga.

FactoryAndName

Represents the information needed to locate or create a target actor, typically used within sagas.

Handler<'Cmd, 'Event>

IActor

Defines the core functionalities and context provided by the FCQRS environment to actors. This interface provides access to essential Akka.NET services and FCQRS initialization methods.

IConfigurationWrapper

ILoggerFactoryWrapper

ISerializable

Marker interface for types that can be serialized by Akka.NET.

PrefixConversion

Default shard name used if no specific sharding strategy is provided. Represents a potential transformation to apply to an entity ID prefix, used in saga routing. Allows sagas to be co-located or routed differently based on the originator's ID structure.

SagaState<'SagaData, 'State>

Represents the state of a saga instance. The type of the custom data held by the saga. The type representing the saga's current state machine state (e.g., an enum or DU).

SagaTransition<'State>

Represents the next state transition for a saga after processing an event or timeout.

ShardFactoryWith<'T, 'TEvent, 'TCommand, 'TState>

ShardFactoryWithEnv<'T, 'TEnv, 'TEvent, 'TCommand, 'TState>

TargetActor

Represents the target of a command execution triggered by a saga.

TargetName

Represents the name identifying a target actor for a command, typically used within sagas.

Functions and values

Function or value Description

DEFAULT_SHARD

Full Usage: DEFAULT_SHARD

Returns: string
Returns: string

commandHandler actorApi eventFilter cid actorId command

Full Usage: commandHandler actorApi eventFilter cid actorId command

Parameters:
    actorApi : IActor
    eventFilter : 'TEvent -> bool
    cid : CID
    actorId : AggregateId
    command : 'TCommand

Returns: Async<'TEvent>
Modifiers: inline
Type parameters: ^T, 'TEvent, 'TCommand, 'TState
actorApi : IActor
eventFilter : 'TEvent -> bool
cid : CID
actorId : AggregateId
command : 'TCommand
Returns: Async<'TEvent>

commandHandlerWithEnv env actorApi eventFilter cid actorId command

Full Usage: commandHandlerWithEnv env actorApi eventFilter cid actorId command

Parameters:
    env : 'TEnv
    actorApi : IActor
    eventFilter : 'TEvent -> bool
    cid : CID
    actorId : AggregateId
    command : 'TCommand

Returns: Async<'TEvent>
Modifiers: inline
Type parameters: ^T, 'TEnv, 'TEvent, 'TCommand, 'TState
env : 'TEnv
actorApi : IActor
eventFilter : 'TEvent -> bool
cid : CID
actorId : AggregateId
command : 'TCommand
Returns: Async<'TEvent>

extractTraceId cid

Full Usage: extractTraceId cid

Parameters:
Returns: string

Helper to extract TraceId from a CID (W3C traceparent format: 00-{traceId}-{spanId}-{flags}) Returns the full CID string if not in traceparent format

cid : CID
Returns: string

sameTrace cid1 cid2

Full Usage: sameTrace cid1 cid2

Parameters:
Returns: bool

Compare two CIDs by their TraceId (for correlation in distributed tracing scenarios)

cid1 : CID
cid2 : CID
Returns: bool

traceparentCid ()

Full Usage: traceparentCid ()

Parameters:
    () : unit

Returns: CID
() : unit
Returns: CID

Type something to start searching.