pub type EntryOf<D> = Entry<<D as DurableRing>::Ids, <D as DurableRing>::Buffer, <D as DurableRing>::Context>;Expand description
An implementation’s queue entry.
Aliased Type§
pub enum EntryOf<D> {
Op(OpCompletion<<D as DurableRing>::Ids, <D as DurableRing>::Buffer, <D as DurableRing>::Context>),
Durable {
through: Epoch<<D as DurableRing>::Ids>,
},
Failed(Failed<<D as DurableRing>::Ids>),
Blocked {
through: Epoch<<D as DurableRing>::Ids>,
by: <<D as DurableRing>::Ids as Identities>::FailureId,
},
Abandoned {
failure: <<D as DurableRing>::Ids as Identities>::FailureId,
suspect: SuspectSet<<D as DurableRing>::Ids>,
markings: Vec<Marking<<D as DurableRing>::Ids>>,
},
Healed {
failure: <<D as DurableRing>::Ids as Identities>::FailureId,
suspect: SuspectSet<<D as DurableRing>::Ids>,
markings: Vec<Marking<<D as DurableRing>::Ids>>,
},
Marked {
failure: <<D as DurableRing>::Ids as Identities>::FailureId,
marking: Marking<<D as DurableRing>::Ids>,
},
LineageEnded {
lineage: <<D as DurableRing>::Ids as Identities>::Lineage,
abandoned_through: Option<<<D as DurableRing>::Ids as Identities>::EpochId>,
},
}Variants§
Op(OpCompletion<<D as DurableRing>::Ids, <D as DurableRing>::Buffer, <D as DurableRing>::Context>)
A consumer operation completed.
Durable
The high-water mark of through’s lineage has reached it.
Fields
through: Epoch<<D as DurableRing>::Ids>The epoch reached.
Failed(Failed<<D as DurableRing>::Ids>)
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<<D as DurableRing>::Ids>The request’s epoch.
by: <<D as DurableRing>::Ids as Identities>::FailureIdThe failure in the way.
Abandoned
The consumer abandoned a failure: its final record.
Fields
failure: <<D as DurableRing>::Ids as Identities>::FailureIdThe failure abandoned.
suspect: SuspectSet<<D as DurableRing>::Ids>Its suspect set, now declared lost.
markings: Vec<Marking<<D as DurableRing>::Ids>>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: <<D as DurableRing>::Ids as Identities>::FailureIdThe failure healed.
suspect: SuspectSet<<D as DurableRing>::Ids>Its suspect set.
markings: Vec<Marking<<D as DurableRing>::Ids>>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: <<D as DurableRing>::Ids as Identities>::FailureIdThe failure.
marking: Marking<<D as DurableRing>::Ids>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: <<D as DurableRing>::Ids as Identities>::LineageThe lineage ended.
abandoned_through: Option<<<D as DurableRing>::Ids as Identities>::EpochId>The highest id abandoned, if any was.