pub struct ReplayEngine { /* private fields */ }Expand description
Replay engine backed by an existing transaction journal.
Implementations§
Source§impl ReplayEngine
impl ReplayEngine
pub fn new( journal: Arc<TransactionJournal>, backend_template: BackendConfig, ) -> Self
Sourcepub async fn replay_window(
&self,
req: &TimeTravelRequest,
) -> Result<ReplaySummary>
pub async fn replay_window( &self, req: &TimeTravelRequest, ) -> Result<ReplaySummary>
Replay all journaled statements in the window against the target. Statements are executed in timestamp order across all transactions — this is “what would the target DB look like if it had received exactly this history in exactly this order.”
Individual failures are logged and counted; they do NOT abort the replay, because partial replay is the common case when a target schema diverges from the source’s.
Auto Trait Implementations§
impl Freeze for ReplayEngine
impl !RefUnwindSafe for ReplayEngine
impl Send for ReplayEngine
impl Sync for ReplayEngine
impl Unpin for ReplayEngine
impl UnsafeUnpin for ReplayEngine
impl !UnwindSafe for ReplayEngine
Blanket Implementations§
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more