Skip to main content

Entry

Enum Entry 

Source
pub enum Entry<V, B, C>
where V: Identities,
{ Op(OpCompletion<V, B, C>), Durable { through: Epoch<V>, }, Failed(Failed<V>), Blocked { through: Epoch<V>, by: <V as Identities>::FailureId, }, Abandoned { failure: <V as Identities>::FailureId, suspect: SuspectSet<V>, markings: Vec<Marking<V>>, }, Healed { failure: <V as Identities>::FailureId, suspect: SuspectSet<V>, markings: Vec<Marking<V>>, }, Marked { failure: <V as Identities>::FailureId, marking: Marking<V>, }, LineageEnded { lineage: <V as Identities>::Lineage, abandoned_through: Option<<V as Identities>::EpochId>, }, }
Expand description

One entry of the instance’s completion queue (DI-D-13).

Variants§

§

Op(OpCompletion<V, B, C>)

A consumer operation completed.

§

Durable

The high-water mark of through’s lineage has reached it.

Fields

§through: Epoch<V>

The epoch reached.

§

Failed(Failed<V>)

A durability failure was observed.

§

Blocked

A request’s flushes succeeded, but an unresolved failure at or below through prevents reporting it. Fixed-size and allocation-free, so producing it is cheap.

Fields

§through: Epoch<V>

The request’s epoch.

§by: <V as Identities>::FailureId

The failure in the way.

§

Abandoned

The consumer abandoned a failure: its final record.

Fields

§failure: <V as Identities>::FailureId

The failure abandoned.

§suspect: SuspectSet<V>

Its suspect set, now declared lost.

§markings: Vec<Marking<V>>

Every marking it gained up to this resolution, in the order observed. A suspect write still in flight now is reported only by its own completion (DI-D-47).

§

Healed

A heal took effect (DI-D-12 (c)): the failure is resolved as healed, and this is its final record.

Fields

§failure: <V as Identities>::FailureId

The failure healed.

§suspect: SuspectSet<V>

Its suspect set.

§markings: Vec<Marking<V>>

Every marking it gained up to this resolution, in the order observed. A suspect write still in flight now is reported only by its own completion (DI-D-47).

§

Marked

A failure not yet resolved gained a marking.

Fields

§failure: <V as Identities>::FailureId

The failure.

§marking: Marking<V>

The marking.

§

LineageEnded

end_lineage took effect: every epoch of lineage not yet durable, through abandoned_through, is abandoned (None if none was pending).

Fields

§lineage: <V as Identities>::Lineage

The lineage ended.

§abandoned_through: Option<<V as Identities>::EpochId>

The highest id abandoned, if any was.

Trait Implementations§

Source§

impl<V, B, C> Debug for Entry<V, B, C>
where V: Debug + Identities, B: Debug, C: Debug, <V as Identities>::FailureId: Debug, <V as Identities>::Lineage: Debug, <V as Identities>::EpochId: Debug,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<V, B, C> !RefUnwindSafe for Entry<V, B, C>

§

impl<V, B, C> !UnwindSafe for Entry<V, B, C>

§

impl<V, B, C> Freeze for Entry<V, B, C>

§

impl<V, B, C> Send for Entry<V, B, C>

§

impl<V, B, C> Sync for Entry<V, B, C>

§

impl<V, B, C> Unpin for Entry<V, B, C>

§

impl<V, B, C> UnsafeUnpin for Entry<V, B, C>

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 = !

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

fn try_from(value: U) -> Result<T, !>

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.