Skip to main content

DetachedMarkerRelease

Struct DetachedMarkerRelease 

Source
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

Source

pub const fn conversation_id(self) -> ConversationId

Returns the conversation this release belongs to.

Source

pub const fn provenance(self) -> DetachedMarkerReleaseProvenance

Returns which of the two paths formed this release.

Source

pub const fn participant_id(self) -> ParticipantId

Returns the detached participant.

Source

pub const fn marker_delivery_seq(self) -> DeliverySeq

Returns the undelivered marker.

Source

pub const fn last_dead_binding_epoch(self) -> BindingEpoch

Returns the dead binding epoch.

Source

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

Source

pub const fn ordinary_attach_refusal(self) -> DetachedAttachRefusal

Ordinary attach cannot cross this Leave-only edge.

Source

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.

Trait Implementations§

Source§

impl Clone for DetachedMarkerRelease

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for DetachedMarkerRelease

Source§

impl Debug for DetachedMarkerRelease

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Eq for DetachedMarkerRelease

Source§

impl LeaveOnlyEdge for DetachedMarkerRelease

Source§

fn participant_id(self) -> ParticipantId

Returns the exact owner of this Leave-only edge.
Source§

fn validate_leave_claim( &self, participant_id: ParticipantId, actual_charge: ResourceVector, remaining_k: ResourceVector, exit_claims: u64, ) -> Option<KClaimBackedDetachedLeave>

Validates participant, exact target, actual charge, remaining K, and the available exit claim before creating private Leave authority.
Source§

fn leave( self, debt: ClosureDebt, event: Event, evidence: KClaimBackedDetachedLeave, successor: DebtCompletion, ) -> Result<ClosureState, ClosureState>

Sole successful owner transition: exact-current K-backed detached Leave. Read more
Source§

fn repeat_fate(self, event: Event) -> Result<Self, Self>

Repeat exact fate is an event-consuming no-op. Read more
Source§

fn unrelated_event( self, debt: ClosureDebt, event: Event, resulting_debt: Option<ClosureDebt>, ) -> Result<ClosureState, ClosureState>

Applies an unrelated participant event, preserving this edge while debt remains or clearing it with debt. Read more
Source§

fn authority_superseded(self) -> (Self, DetachedAttachRefusal)

Supersession is stale and preserves the exact edge.
Source§

fn binding_required_refusal(self) -> DetachedAttachRefusal

Normal/marker ack and ordinary admission have no binding authority.
Source§

impl PartialEq for DetachedMarkerRelease

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for DetachedMarkerRelease

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.