Skip to main content

SnapshotStorageTier

Trait SnapshotStorageTier 

Source
pub trait SnapshotStorageTier<T>: BaseStorageTier
where T: Send + Sync + 'static,
{ // Required methods fn save(&self, snapshot: T) -> Result<(), StorageError>; fn load(&self) -> Result<Option<T>, StorageError>; }
Expand description

Snapshot tier — writes a single record per save(snapshot) call. Mirrors TS SnapshotStorageTier<T>.

Backend key is determined by the tier’s key_of closure (default: a constant tier.name). Successive saves overwrite the same key.

Required Methods§

Source

fn save(&self, snapshot: T) -> Result<(), StorageError>

Buffer a snapshot pending flush. Honors compact_every and debounce_ms semantics per the BaseStorageTier contract.

Source

fn load(&self) -> Result<Option<T>, StorageError>

Load the most-recently-saved snapshot. Returns Ok(None) if no snapshot has been persisted yet.

Implementors§

Source§

impl<B, T, C> SnapshotStorageTier<T> for SnapshotStorage<B, T, C>
where B: StorageBackend + ?Sized, T: Send + Sync + 'static, C: Codec<T>,