Skip to main content

SnapshotLoader

Trait SnapshotLoader 

Source
pub trait SnapshotLoader: Send + Sync {
    type Key: Clone + Eq + Hash + Send + Sync;
    type State: Clone + Send + Sync;

    // Required methods
    fn load_latest(
        &self,
    ) -> Result<Option<(i64, SnapshotState<Self::Key, Self::State>)>, SnapshotError>;
    fn load(
        &self,
        snapshot_id: i64,
    ) -> Result<SnapshotState<Self::Key, Self::State>, SnapshotError>;
}
Expand description

Trait for loading snapshots.

Required Associated Types§

Source

type Key: Clone + Eq + Hash + Send + Sync

The key type for identifying entities

Source

type State: Clone + Send + Sync

The state type stored in snapshots

Required Methods§

Source

fn load_latest( &self, ) -> Result<Option<(i64, SnapshotState<Self::Key, Self::State>)>, SnapshotError>

Load the latest snapshot, if any.

Source

fn load( &self, snapshot_id: i64, ) -> Result<SnapshotState<Self::Key, Self::State>, SnapshotError>

Load a specific snapshot by ID.

Implementors§