Namespace Akka.Persistence
Classes
AsyncHandlerInvocation
Unlike StashingHandlerInvocation this one does not force actor to stash commands. Originates from PersistAsync<TEvent>(TEvent, Action<TEvent>) or DeferAsync<TEvent>(TEvent, Action<TEvent>) method calls.
AtLeastOnceDeliveryActor
Persistent actor type that sends messages with at-least-once delivery semantics to destinations. It takes care of re-sending messages when they haven't been confirmed withing expected timeout. Use the Deliver(ActorPath, Func<Int64, Object>, Boolean) method to send a message to a destination. Call the ConfirmDelivery(Int64) method when destination has replied with a confirmation message.
At-least-once delivery implies that the original message send order is not always retained and the destination may receive duplicate messages due to possible resends.
The interval between redelivery attempts can be defined with RedeliverInterval. After a number of delivery attempts a UnconfirmedWarning message will be sent to Self. The re-sending will continue, but you may choose ConfirmDelivery(Int64) to cancel re-sending.
This actor type has a state consisting of unconfirmed messages and a sequence number. It does not store this state itself. You must persist events corresponding to the Deliver(ActorPath, Func<Int64, Object>, Boolean) and ConfirmDelivery(Int64) invocations from your PersistentActor so that the state can be restored by calling the same methods during the recovery phase of the PersistentActor. Sometimes these events can be derived from other business level events, and sometimes you must create separate events. During recovery calls to Deliver(ActorPath, Func<Int64, Object>, Boolean) will not send out the message, but it will be sent later if no matching ConfirmDelivery(Int64) was performed.
Support for snapshot is provided by GetDeliverySnapshot() and SetDeliverySnapshot(AtLeastOnceDeliverySnapshot). The AtLeastOnceDeliverySnapshot contains the full delivery state, including unconfirmed messages. If you need a custom snapshot for other parts of the actor state you must also include the AtLeastOnceDeliverySnapshot. It is serialized using protobuf with the ordinary Akka serialization mechanism. It is easiest to include the bytes of the AtLeastOnceDeliverySnapshot as a blob in your custom snapshot.
AtLeastOnceDeliveryReceiveActor
Receive persistent actor type, that sends messages with at-least-once delivery semantics to it's destinations.
AtLeastOnceDeliverySemantic
TBD
AtLeastOnceDeliverySemantic.Delivery
AtLeastOnceDeliverySemantic.RedeliveryTick
AtLeastOnceDeliverySnapshot
Snapshot of current AtLeastOnceDeliveryActor state. Can be retrieved with GetDeliverySnapshot() and saved with SaveSnapshot(Object). During recovery the snapshot received in SnapshotOffer should be sent with SetDeliverySnapshot(AtLeastOnceDeliverySnapshot).
AtomicWrite
Represents a single atomic write to an Akka.Persistence journal.
DeleteMessagesFailure
Reply message to failed DeleteMessages(Int64) request.
DeleteMessagesSuccess
Reply message to a successful DeleteMessages(Int64) request.
DeleteMessagesTo
Request to delete all persistent messages with sequence numbers up to toSequenceNr
(inclusive).
DeleteSnapshot
Instructs a snapshot store to delete a snapshot.
DeleteSnapshotFailure
Sent to PersistentActor after failed deletion of a snapshot.
DeleteSnapshots
Instructs a snapshot store to delete all snapshots that match provided criteria.
DeleteSnapshotsFailure
Sent to PersistentActor after failed deletion of a range of snapshots.
DeleteSnapshotsSuccess
Sent to PersistentActor after successful deletion of a specified range of snapshots.
DeleteSnapshotSuccess
Sent to PersistentActor after successful deletion of a snapshot.
DiscardConfigurator
TBD
DiscardToDeadLetterStrategy
Discard the message to DeadLetterActorRef
Eventsourced
The base class for all persistent actors.
LoadSnapshot
Instructs a snapshot store to load the snapshot.
LoadSnapshotFailed
Reply message to a failed LoadSnapshot request.
LoadSnapshotResult
Response to a LoadSnapshot message.
LoopMessageSuccess
Reply message to a WriteMessages with a non-persistent message.
MaxUnconfirmedMessagesExceededException
This exception is thrown when the MaxUnconfirmedMessages threshold has been exceeded.
Persistence
Persistence extension.
PersistenceExtension
Launches the Akka.Persistence runtime
PersistenceSettings
Persistence configuration.
PersistenceSettings.AtLeastOnceDeliverySettings
TBD
PersistenceSettings.InternalSettings
PersistenceSettings.ViewSettings
TBD
PersistentActor
Persistent actor - can be used to implement command or eventsourcing.
ReceivePersistentActor
TBD
Recovery
Recovery mode configuration object to be return in Recovery
By default recovers from latest snapshot replays through to the last available event (last sequenceNr).
Recovery will start from a snapshot if the persistent actor has previously saved one or more snapshots and at least one of these snapshots matches the specified FromSnapshot criteria. Otherwise, recovery will start from scratch by replaying all stored events.
If recovery starts from a snapshot, the PersistentActor is offered that snapshot with a SnapshotOffer message, followed by replayed messages, if any, that are younger than the snapshot, up to the specified upper sequence number bound (ToSequenceNr).
RecoveryCompleted
Sent to a PersistentActor when the journal replay has been finished.
RecoverySuccess
Reply message to a successful ReplayMessages request. This reply is sent to the requester after all ReplayedMessage have been sent (if any).
It includes the highest stored sequence number of a given persistent actor. Note that the replay might have been limited to a lower sequence number.
RecoveryTick
Message used to detect that recovery timed out.
RecoveryTimedOutException
TBD
ReplayedMessage
Reply message to a ReplayMessages request. A separate reply is sent to the requester for each replayed message.
ReplayMessages
Request to replay messages to the PersistentActor.
ReplayMessagesFailure
Reply message to a failed ReplayMessages request. This reply is sent to the requester if a replay could not be successfully completed.
ReplyToStrategy
Reply to sender with predefined response, and discard the received message silently.
SaveSnapshot
Instructs a snapshot store to save a snapshot.
SaveSnapshotFailure
Sent to PersistentActor after failed saving a snapshot.
SaveSnapshotSuccess
Sent to PersistentActor after successful saving of a snapshot.
SelectedSnapshot
A selected snapshot matching SnapshotSelectionCriteria.
SnapshotMetadata
Metadata for all persisted snapshot records.
SnapshotOffer
Offers a PersistentActor a previously saved snapshot during recovery. This offer is received before any further replayed messages.
SnapshotSelectionCriteria
Selection criteria for loading and deleting a snapshots.
StashingHandlerInvocation
Forces actor to stash incoming commands until all invocations are handled.
ThrowExceptionConfigurator
TBD
ThrowOverflowExceptionStrategy
Throw StashOverflowException, hence the persistent actor will start recovery if guarded by default supervisor strategy. Be careful if used together with Persist<TEvent>(TEvent, Action<TEvent>) or PersistAll<TEvent>(IEnumerable<TEvent>, Action<TEvent>) or has many messages needed to replay.
UnconfirmedDelivery
Contains details about unconfirmed messages. It's included inside UnconfirmedWarning and AtLeastOnceDeliverySnapshot. WarnAfterNumberOfUnconfirmedAttempts
UnconfirmedWarning
Message should be sent after WarnAfterNumberOfUnconfirmedAttempts limit will is reached.
UntypedPersistentActor
Persistent actor - can be used to implement command or eventsourcing.
WriteMessageFailure
Reply message to a failed WriteMessages request. For each contained IPersistentRepresentation message in the request, a separate reply is sent to the requester.
WriteMessageRejected
Reply message to a rejected WriteMessages request. The write of this message was rejected before it was stored, e.g. because it could not be serialized. For each contained IPersistentRepresentation message in the request, a separate reply is sent to the requester.
WriteMessages
Request to write messages.
WriteMessagesFailed
Reply message to a failed WriteMessages request. This reply is sent to the requester before all subsequent WriteMessageFailure replies.
WriteMessagesSuccessful
Reply message to a successful WriteMessages request. This reply is sent to the requester before all subsequent WriteMessageSuccess replies.
WriteMessageSuccess
Reply message to a successful WriteMessages request. For each contained IPersistentRepresentation message in the request, a separate reply is sent to the requester.
Interfaces
IJournalMessage
Marker interface for internal journal messages
IJournalPlugin
TBD
IJournalRequest
Internal journal command
IJournalResponse
Internal journal acknowledgement
IPendingHandlerInvocation
IPersistenceMessage
Marker interface for internal persistence extension messages.
Helps persistence plugin developers to differentiate internal persistence extension messages from their custom plugin messages.
Journal messages need not be serialization verified as the Journal Actor should always be a local Actor (and serialization is performed by plugins). One notable exception to this is the shared journal used for testing.
IPersistenceRecovery
TBD
IPersistenceStash
TBD
IPersistentEnvelope
Internal API
Marks messages which can then be resequenced by AsyncWriteJournal.
In essence it is either an Akka.Persistence.NonPersistentMessage or AtomicWrite
IPersistentIdentity
TBD
IPersistentRepresentation
Representation of a persistent message in the journal plugin API.
ISnapshotMessage
Marker interface for internal snapshot messages
ISnapshotRequest
Internal snapshot command
ISnapshotResponse
Internal snapshot acknowledgement
ISnapshotter
Snapshot API on top of the internal snapshot protocol.
IStashOverflowStrategy
This defines how to handle the current received message which failed to stash, when the size of the Stash exceeding the capacity of the Stash.
IStashOverflowStrategyConfigurator
Implement this interface in order to configure the IStashOverflowStrategy for the internal stash of the persistent actor. An instance of this class must be instantiable using a no-args constructor.