Package-level declarations
Types
Dispatcher for handling snapshot operations on state events for a specific aggregate. Routes state event exchanges to the snapshot handler for processing.
In-memory implementation of SnapshotRepository for testing and development. Stores snapshots as JSON strings in a thread-safe map.
No-operation implementation of SnapshotRepository that does nothing. Useful for testing or when snapshots are not needed.
Simple implementation of Snapshot that wraps a ReadOnlyStateAggregate with a snapshot time.
Simple implementation of SnapshotStrategy that creates a snapshot for every state event. This strategy saves a snapshot immediately after each state event is processed.
Represents a snapshot of a state aggregate at a specific point in time. Snapshots are used to optimize loading by providing a starting point for event replay.
Repository for storing and retrieving snapshots of state aggregates. Snapshots optimize aggregate loading by providing a recent state checkpoint.
Strategy for managing snapshots of state aggregates. Snapshot strategies determine when and how to create snapshots based on state events. This helps optimize aggregate loading by reducing the number of events that need to be replayed.
Snapshot strategy that creates snapshots based on version offset. A snapshot is created when the current aggregate version exceeds the last snapshot version by the specified offset. This helps balance between snapshot frequency and storage efficiency.