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§
Sourcetype Aggregate: AggregateRoot
type Aggregate: AggregateRoot
English:
Aggregate defining the snapshot lookup identifier.
日本語:
スナップショット検索の識別子を定める集約です。
Required Methods§
Sourcefn load(
&self,
id: &<Self::Aggregate as Entity>::Id,
) -> Result<Option<AggregateSnapshot<Self::State>>, SnapshotLoadError<Self::Error>>
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 で返します。
Sourcefn save(
&mut self,
id: &<Self::Aggregate as Entity>::Id,
snapshot: AggregateSnapshot<Self::State>,
) -> Result<(), SnapshotSaveError<Self::Error>>
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".