Skip to main content

AttachCommit

Struct AttachCommit 

Source
pub struct AttachCommit<F, V> {
    pub member: LiveMember<F>,
    pub binding_state: BindingState,
    pub detach_cell: DetachCell<V>,
    pub attached: AttachedLifecycleRecord,
    pub outcome: AttachBound,
    pub transition: AttachTransition,
    /* private fields */
}
Expand description

Complete atomic result of a credential attach.

Fields§

§member: LiveMember<F>

Rotated membership with preserved or replaced terminal history.

§binding_state: BindingState

Exact new authoritative binding.

§detach_cell: DetachCell<V>

Fix 1 detach cell after terminalization/preservation.

§attached: AttachedLifecycleRecord

Exact committed phase-2 Attached lifecycle record.

§outcome: AttachBound

Exact wire success payload.

§transition: AttachTransition

Typed old-binding or fenced-recovery terminal effect.

Implementations§

Source§

impl<F, V> AttachCommit<F, V>

Source

pub fn into_slot_and_fate( self, ) -> (InstalledAttachState<F, V>, SealedBindingFateToken)

Consumes this commit into operational state and exactly one fate token.

Source

pub fn observer_progress_projection(&self) -> Option<ObserverProgressProjection>

Projects the binding-ending terminal committed by this attach, if any.

Source

pub fn ordinary_cursor_progressed(self, event: Event) -> Result<Self, Box<Self>>

Consumes one exact normal-ack event into this ordinary attach’s cursor authority.

Fenced recovery has no ordinary authority and therefore returns the unchanged commit. The raw authority never crosses the public boundary.

§Errors

Returns the unchanged commit for fenced recovery or when the event names another participant, epoch, previous cursor, or event class.

Source

pub fn ordinary_binding_fate( self, terminal: CommittedDiedTerminal, resulting_floor: DeliverySeq, ) -> Result<OrdinaryBindingFate, Box<Self>>

Consumes this ordinary attach and its exact durable death into cursor-release fate.

A fenced attach cannot enter this path because it carries no ordinary binding authority; recovered epochs still require the distinct FencedAttachCommit provenance transition.

§Errors

Returns the unchanged commit for fenced recovery or unless the terminal names this exact ordinary participant, conversation, and binding epoch.

Trait Implementations§

Source§

impl<F: Debug, V: Debug> Debug for AttachCommit<F, V>

Source§

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

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

impl<F: Eq, V: Eq> Eq for AttachCommit<F, V>

Source§

impl<F: PartialEq, V: PartialEq> PartialEq for AttachCommit<F, V>

Source§

fn eq(&self, other: &AttachCommit<F, V>) -> bool

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

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

Inequality operator !=. Read more
Source§

impl<F: PartialEq, V: PartialEq> StructuralPartialEq for AttachCommit<F, V>

Auto Trait Implementations§

§

impl<F, V> Freeze for AttachCommit<F, V>
where F: Freeze, V: Freeze,

§

impl<F, V> RefUnwindSafe for AttachCommit<F, V>

§

impl<F, V> Send for AttachCommit<F, V>
where F: Send, V: Send,

§

impl<F, V> Sync for AttachCommit<F, V>
where F: Sync, V: Sync,

§

impl<F, V> Unpin for AttachCommit<F, V>
where F: Unpin, V: Unpin,

§

impl<F, V> UnsafeUnpin for AttachCommit<F, V>
where F: UnsafeUnpin, V: UnsafeUnpin,

§

impl<F, V> UnwindSafe for AttachCommit<F, V>
where F: UnwindSafe, V: UnwindSafe,

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

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.