Namespace Akka.Persistence.Journal
Classes
AsyncReplayTimeoutException
This exception is thrown when the replay inactivity exceeds a specified timeout.
AsyncWriteJournal
Abstract journal, optimized for asynchronous, non-blocking writes.
AsyncWriteProxy
A journal that delegates actual storage to a target actor. For testing only.
AsyncWriteProxy.InitTimeout
TBD
AsyncWriteTarget
TBD
AsyncWriteTarget.DeleteMessagesTo
TBD
AsyncWriteTarget.ReplayFailure
TBD
AsyncWriteTarget.ReplayMessages
TBD
AsyncWriteTarget.ReplaySuccess
TBD
AsyncWriteTarget.WriteMessages
TBD
CombinedReadEventAdapter
TBD
EmptyEventSequence
TBD
EventAdapters
TBD
EventSequence
TBD
EventSequence<T>
TBD
IdentityEventAdapter
No-op model adapter which passes through the incoming events as-is.
MemoryJournal
In-memory journal for testing purposes.
Uses a channel-based drain-on-read pattern with immutable collections to handle the concurrent access pattern imposed by AsyncWriteJournal. Writes enqueue to an unbounded channel (never blocking), and reads drain the channel first to ensure all pending writes are visible before returning results.
MemoryJournal.CurrentPersistenceIds
TBD
MemoryJournal.EventCount
Reply to MemoryJournal.SelectEventCount carrying the number of matching events.
MemoryJournal.EventCountFailure
Reply to MemoryJournal.SelectEventCount when the count query fails, so the query side can fail the stream instead of waiting forever for an MemoryJournal.EventCount that will never arrive.
MemoryJournal.EventReplayFailure
MemoryJournal.EventReplaySuccess
MemoryJournal.JournalStorage
Storage container for journal data. Encapsulates the pending writes channel and immutable snapshot state.
MemoryJournal.ReplayAllEvents
MemoryJournal.ReplayTaggedMessages
MemoryJournal.ReplayTaggedMessagesSuccess
MemoryJournal.ReplayedEvent
MemoryJournal.ReplayedTaggedMessage
MemoryJournal.SelectCurrentPersistenceIds
MemoryJournal.SelectEventCount
Requests the number of stored events matching Tag, or all stored events when
Tag is null. Used by the query side to resolve a "from the end" (last N)
query offset into a concrete starting position.
PersistencePluginProxy
TBD
PersistencePluginProxy.TargetLocation
TBD
PersistencePluginProxyExtension
PersistencePluginProxyExtension is an IExtension that enables initialization of the PersistencePluginProxy via configuration, without requiring any code changes or the creation of any actors.
ReplayFilter
Detect corrupt event stream during replay. It uses the WriterGuid and the SequenceNr in the replayed events to find events emitted by overlapping writers.
SetStore
TBD
SharedMemoryJournal
WriteJournalBase
Base class for the journal persistence
Structs
SingleEventSequence
TBD
Tagged
The journal may support tagging of events that are used by the
EventsByTag query and it may support specifying the tags via an
IEventAdapter that wraps the events
in a Tagged with the given Tags. The journal may support other
ways of doing tagging. Please consult the documentation of the specific
journal implementation for more information.
The journal will unwrap the event and store the Payload.
Interfaces
IAsyncRecovery
TBD
IEmptyEventSequence
TBD
IEventAdapter
An IEventAdapter is both a IWriteEventAdapter and a IReadEventAdapter. Facility to convert from and to specialised data models, as may be required by specialized persistence Journals.
Typical use cases include (but are not limited to):
- adding metadata, a.k.a. "tagging" - by wrapping objects into tagged counterparts
- manually converting to the Journals storage format, such as JSON, BSON or any specialised binary format
- adapting incoming events in any way before persisting them by the journal
IEventSequence
TBD
IReadEventAdapter
Facility to convert from specialised data models, as may be required by specialized persistence Journals.
Typical use cases include (but are not limited to):
- extracting events from "envelopes"
- manually converting to the Journals storage format, such as JSON, BSON or any specialised binary format
- adapting incoming events from a "data model" to the "domain model"
IWriteEventAdapter
Facility to convert to specialised data models, as may be required by specialized persistence Journals.
Typical use cases include (but are not limited to):
- adding metadata, a.k.a. "tagging" - by wrapping objects into tagged counterparts
- manually converting to the Journals storage format, such as JSON, BSON or any specialised binary format
- splitting up large events into sequences of smaller ones
Enums
ReplayFilterMode
TBD