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 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: Clone, V: Clone> Clone for AttachCommit<F, V>

Source§

fn clone(&self) -> AttachCommit<F, V>

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