pub struct Replay<E: Storage + Metrics, A: CodecFixed> { /* private fields */ }Expand description
Owned replay reader over a Journal’s items.
Yields (section, position, item) in order. Dropping the reader before it is exhausted
destroys the journal: recovery is re-initialization. Call Replay::finish on an
exhausted reader to get the journal back.
Implementations§
Source§impl<E: Storage + Metrics, A: CodecFixedShared> Replay<E, A>
impl<E: Storage + Metrics, A: CodecFixedShared> Replay<E, A>
Sourcepub async fn next(&mut self) -> Option<Result<(u64, u64, A), Error>>
pub async fn next(&mut self) -> Option<Result<(u64, u64, A), Error>>
Returns the next (section, position, item), or None once every section is
exhausted.
An error ends the section that produced it, and iteration continues with the next section. Errors while mutating storage to repair a section, and Error::ReplayInterrupted, end the replay.
Auto Trait Implementations§
impl<E, A> !RefUnwindSafe for Replay<E, A>
impl<E, A> !UnwindSafe for Replay<E, A>
impl<E, A> Freeze for Replay<E, A>
impl<E, A> Send for Replay<E, A>
impl<E, A> Sync for Replay<E, A>
impl<E, A> Unpin for Replay<E, A>
impl<E, A> UnsafeUnpin for Replay<E, A>
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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