pub struct DetachedMarkerRelease { /* private fields */ }Expand description
Leave-only undelivered-marker release witness.
This state is produced only when exact binding fate consumes a marker that
has not reached CursorProgressMarker.
Implementations§
Source§impl DetachedMarkerRelease
impl DetachedMarkerRelease
Sourcepub const fn conversation_id(self) -> ConversationId
pub const fn conversation_id(self) -> ConversationId
Returns the conversation this release belongs to.
Sourcepub const fn provenance(self) -> DetachedMarkerReleaseProvenance
pub const fn provenance(self) -> DetachedMarkerReleaseProvenance
Returns which of the two paths formed this release.
Sourcepub const fn participant_id(self) -> ParticipantId
pub const fn participant_id(self) -> ParticipantId
Returns the detached participant.
Sourcepub const fn marker_delivery_seq(self) -> DeliverySeq
pub const fn marker_delivery_seq(self) -> DeliverySeq
Returns the undelivered marker.
Sourcepub const fn last_dead_binding_epoch(self) -> BindingEpoch
pub const fn last_dead_binding_epoch(self) -> BindingEpoch
Returns the dead binding epoch.
Sourcepub fn storage_description(
self,
terminal: Option<RestoredBindingFateTerminal>,
) -> Result<StoredEdgeRestore, Option<RestoredBindingFateTerminal>>
pub fn storage_description( self, terminal: Option<RestoredBindingFateTerminal>, ) -> Result<StoredEdgeRestore, Option<RestoredBindingFateTerminal>>
Describes this release as the capsule that restores it, given the terminal of the fate that selected it, where there was one.
A fate-selected release must be given its terminal; a candidate-selected
release must be given none, because none was ever observed for it. The
terminal itself is not stored on the edge because the crate’s size lint
refuses it, and resolving it from the member is sound for the reason
given on DetachedCredentialRecovery::storage_description.
§Errors
Returns what it was given unless the release’s own path is matched: a terminal naming this release’s participant, epoch and conversation for the fate path, and no terminal at all for the candidate path.
Source§impl DetachedMarkerRelease
impl DetachedMarkerRelease
Sourcepub const fn ordinary_attach_refusal(self) -> DetachedAttachRefusal
pub const fn ordinary_attach_refusal(self) -> DetachedAttachRefusal
Ordinary attach cannot cross this Leave-only edge.
Sourcepub const fn marker_attach_refusal(
self,
presented_marker: DeliverySeq,
) -> DetachedAttachRefusal
pub const fn marker_attach_refusal( self, presented_marker: DeliverySeq, ) -> DetachedAttachRefusal
The exact undelivered marker selects MarkerNotDelivered; another marker
selects MarkerMismatch without fabricating an expected delivery fact.