Skip to main content

ProjectionReplayService

Struct ProjectionReplayService 

Source
pub struct ProjectionReplayService;
Expand description

Projection replay service — fold/reducer model for custom aggregations.

Unlike ReplayService which assumes full snapshots, this service supports both full-snapshot and diff-based event logs. reducer.initial_state() returns the empty starting state, reducer.apply(state, event) accumulates each event.

Use for custom aggregations (transition count, cumulative metrics) or when the event log stores diffs rather than full snapshots.

Implementations§

Source§

impl ProjectionReplayService

Source

pub fn state_at_version<T>( events: &[VersionedTransitionEvent], flow_id: &str, target_version: u32, reducer: &dyn ProjectionReducer<T>, ) -> T

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.