pub(super) enum TailStep {
Apply {
records: Vec<UsnRecord>,
truncated: bool,
},
Rescan(JournalGone),
Fail(UsnError),
}Expand description
What one blocking-read outcome means for the tail loop.
Variants§
Apply
Apply the records to the index, then publish the new checkpoint — in that order (see the checkpoint-after-apply invariant at the apply site).
Rescan(JournalGone)
The journal id is dead. Recovery is always a full rescan (docs/RESEARCH.md standard practice): invalidate the shared checkpoint, drop the snapshot, announce Rescanning, restart the outer loop.
Fail(UsnError)
Unrecoverable read error — the volume goes Failed.
Auto Trait Implementations§
impl Freeze for TailStep
impl RefUnwindSafe for TailStep
impl Send for TailStep
impl Sync for TailStep
impl Unpin for TailStep
impl UnsafeUnpin for TailStep
impl UnwindSafe for TailStep
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<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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