Skip to main content

SnapshotStore

Trait SnapshotStore 

Source
pub trait SnapshotStore {
    type Aggregate: AggregateRoot;
    type State;
    type Error;

    // Required methods
    fn load(
        &self,
        id: &<Self::Aggregate as Entity>::Id,
    ) -> Result<Option<AggregateSnapshot<Self::State>>, SnapshotLoadError<Self::Error>>;
    fn save(
        &mut self,
        id: &<Self::Aggregate as Entity>::Id,
        snapshot: AggregateSnapshot<Self::State>,
    ) -> Result<(), SnapshotSaveError<Self::Error>>;
}
Expand description

English:
Synchronous storage boundary for snapshots indexed by aggregate identifier. Implementations define replacement policy, durability, synchronization, and panic conditions. Saving a snapshot does not itself append events or validate the snapshot against an event stream.

日本語:
集約識別子をキーとするスナップショットの同期ストレージ境界です。 置換方針、永続性、同期、パニック条件は実装が定めます。 保存自体はイベント追加やイベントストリームに対するスナップショットの検証を行いません。

Required Associated Types§

Source

type Aggregate: AggregateRoot

English:
Aggregate defining the snapshot lookup identifier.

日本語:
スナップショット検索の識別子を定める集約です。

Source

type State

English:
State representation stored in each snapshot.

日本語:
各スナップショットに保存する状態の表現です。

Source

type Error

English:
Adapter-specific persistence error.

日本語:
アダプター固有の永続化エラーです。

Required Methods§

Source

fn load( &self, id: &<Self::Aggregate as Entity>::Id, ) -> Result<Option<AggregateSnapshot<Self::State>>, SnapshotLoadError<Self::Error>>

English:
Loads a snapshot for id; Ok(None) means none is available. Storage failures use SnapshotLoadError::Adapter rather than the absence result.

日本語:
id のスナップショットを読み込みます。Ok(None) は不在を表します。 ストレージ障害は不在ではなく SnapshotLoadError::Adapter で返します。

Source

fn save( &mut self, id: &<Self::Aggregate as Entity>::Id, snapshot: AggregateSnapshot<Self::State>, ) -> Result<(), SnapshotSaveError<Self::Error>>

English:
Consumes and saves snapshot for id, returning an adapter error on failure. The snapshot is not returned on error; replacement and retry behavior depend on the adapter.

日本語:
id に対して snapshot を消費して保存し、失敗時はアダプターエラーを返します。 エラー時にスナップショットは返されません。置換や再試行の挙動はアダプターに依存します。

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§