pub struct SnapshotRecord {
pub aggregate_type: String,
pub aggregate_id: String,
pub version: u64,
pub snapshot_type: String,
pub snapshot_version: u64,
pub payload_codec: String,
pub payload_codec_version: u16,
pub payload: Vec<u8>,
pub metadata: HashMap<String, String>,
pub recorded_at: SystemTime,
}Expand description
Stored aggregate snapshot cache record.
This is a repository-owned cache envelope, not an aggregate event and not
the user-defined state snapshot payload itself. The payload bytes usually
come from Snapshottable::create_snapshot().
Fields§
§aggregate_type: String§aggregate_id: String§version: u64Aggregate event sequence covered by this cache record.
snapshot_type: String§snapshot_version: u64§payload_codec: String§payload_codec_version: u16§payload: Vec<u8>§metadata: HashMap<String, String>§recorded_at: SystemTimeImplementations§
Source§impl SnapshotRecord
impl SnapshotRecord
pub const DEFAULT_SNAPSHOT_VERSION: u64 = 1
pub fn new( aggregate_type: impl Into<String>, aggregate_id: impl Into<String>, version: u64, snapshot_type: impl Into<String>, snapshot_version: u64, payload: Vec<u8>, ) -> Self
pub fn validate_for_identity( &self, identity: &StreamIdentity, ) -> Result<(), RepositoryError>
pub fn validate(&self) -> Result<(), RepositoryError>
pub fn has_supported_payload_codec(&self) -> bool
Trait Implementations§
Source§impl Clone for SnapshotRecord
impl Clone for SnapshotRecord
Source§fn clone(&self) -> SnapshotRecord
fn clone(&self) -> SnapshotRecord
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SnapshotRecord
impl Debug for SnapshotRecord
Source§impl PartialEq for SnapshotRecord
impl PartialEq for SnapshotRecord
Source§fn eq(&self, other: &SnapshotRecord) -> bool
fn eq(&self, other: &SnapshotRecord) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for SnapshotRecord
Auto Trait Implementations§
impl Freeze for SnapshotRecord
impl RefUnwindSafe for SnapshotRecord
impl Send for SnapshotRecord
impl Sync for SnapshotRecord
impl Unpin for SnapshotRecord
impl UnsafeUnpin for SnapshotRecord
impl UnwindSafe for SnapshotRecord
Blanket Implementations§
Source§impl<T> AsyncAggregateBuilder for T
impl<T> AsyncAggregateBuilder for T
fn async_aggregate<A: Aggregate>(self) -> AsyncAggregateRepository<Self, A>
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Queueable for T
impl<T> Queueable for T
Source§fn queued_async(self) -> QueuedRepository<Self, InMemoryAsyncLockManager>
fn queued_async(self) -> QueuedRepository<Self, InMemoryAsyncLockManager>
Wrap with the default async lock manager. Pair with
.async_aggregate::<T>() for per-aggregate serialization over the async
repository surface.Source§fn queued_async_with<L: AsyncLockManager>(
self,
lock_manager: L,
) -> QueuedRepository<Self, L>
fn queued_async_with<L: AsyncLockManager>( self, lock_manager: L, ) -> QueuedRepository<Self, L>
Wrap with a custom async lock manager.