Skip to main content

ActiveBinding

Struct ActiveBinding 

Source
pub struct ActiveBinding {
    pub participant_id: ParticipantId,
    pub conversation_id: ConversationId,
    pub binding_epoch: BindingEpoch,
}
Expand description

Active binding authority.

Fields§

§participant_id: ParticipantId

Bound participant; in v1 this value is also its permanent participant index.

§conversation_id: ConversationId

Bound conversation.

§binding_epoch: BindingEpoch

Immutable current binding epoch.

Implementations§

Source§

impl ActiveBinding

Source

pub const fn clean_deregister( self, disposition: BindingTerminalDisposition, ) -> DetachedBindingTransition

Ends authority for explicit detach or clean protocol Disconnect.

Source

pub const fn commit_clean_deregister( self, position: CommittedBindingTerminalPosition, ) -> CommittedDetachedTerminal

Commits an explicit detach terminal at its assigned durable position.

Source

pub const fn pending_clean_deregister( self, position: PendingBindingTerminalPosition, ) -> PendingDetachedFinalization

Ends explicit-detach authority while retaining its exact pending terminal.

Source

pub const fn clean_disconnect( self, disposition: BindingTerminalDisposition, ) -> DetachedBindingTransition

Ends every binding still active when a clean protocol Disconnect arrives.

Source

pub const fn superseded( self, position: CommittedBindingTerminalPosition, ) -> CommittedDetachedTerminal

Commits the old terminal in an authorized superseding attach handoff.

Supersession is an optional new-major producer and cannot leave only the old terminal pending; the enclosing attach transaction either appends the ordered Detached(Superseded)/Attached pair or commits nothing.

Source

pub const fn server_shutdown( self, disposition: BindingTerminalDisposition, ) -> DetachedBindingTransition

Ends authority during an orderly server shutdown.

Source

pub const fn connection_lost( self, disposition: BindingTerminalDisposition, ) -> DiedBindingTransition

Ends authority after TCP/keepalive/read/write connection loss.

Source

pub const fn process_killed( self, disposition: BindingTerminalDisposition, ) -> DiedBindingTransition

Ends authority after trapped linked-EXIT or known forced termination.

Source

pub const fn protocol_error( self, disposition: BindingTerminalDisposition, ) -> DiedBindingTransition

Ends authority after a terminating decode or protocol-state refusal.

Source

pub const fn unclean_server_restart( self, disposition: BindingTerminalDisposition, ) -> DiedBindingTransition

Recovers a durably active epoch owned by a prior server incarnation.

The prior incarnation in the Died cause is derived from the exact old binding epoch, so callers cannot pair the state with a different value.

Source§

impl ActiveBinding

Source

pub fn verify_detach_request<V>( &self, request: DetachRequest, request_verifier: V, ) -> Result<VerifiedDetachRequest<V>, DetachVerificationError>

Verifies a detach request against this exact binding epoch.

§Errors

Returns DetachVerificationError for the first mismatching authority component. The caller supplies the canonical request verifier computed by the consuming server’s cryptographic layer.

Trait Implementations§

Source§

impl Clone for ActiveBinding

Source§

fn clone(&self) -> ActiveBinding

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 ActiveBinding

Source§

impl Debug for ActiveBinding

Source§

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

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

impl Eq for ActiveBinding

Source§

impl PartialEq for ActiveBinding

Source§

fn eq(&self, other: &ActiveBinding) -> 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 ActiveBinding

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