pub enum ParticipantLifecycleView<'a, EF, V, LF, D> {
Live {
member: &'a LiveMember<EF>,
binding: &'a BindingState,
binding_origin: Option<&'a BindingOrigin>,
detach_cell: &'a DetachCell<D>,
},
Retired(&'a RetiredIdentity<EF, V, LF>),
}Expand description
One participant’s live state, lent by reference to be described.
It holds references only, so a binding can lend the values it keeps but cannot make one: every referenced value is itself produced only by the protocol’s own transitions or restores.
Variants§
Live
A live member with its atomically paired slots.
Fields
§
member: &'a LiveMember<EF>Membership and terminal history.
§
binding: &'a BindingStateBinding slot.
§
binding_origin: Option<&'a BindingOrigin>Current or last binding’s producer-emitted origin, when a binding has existed.
§
detach_cell: &'a DetachCell<D>Four-state detach replay cell.
Retired(&'a RetiredIdentity<EF, V, LF>)
A permanent tombstone.
Implementations§
Source§impl<EF, V, LF, D> ParticipantLifecycleView<'_, EF, V, LF, D>
impl<EF, V, LF, D> ParticipantLifecycleView<'_, EF, V, LF, D>
Sourcepub const fn participant_id(&self) -> ParticipantId
pub const fn participant_id(&self) -> ParticipantId
The permanent participant id the lent state belongs to.
Trait Implementations§
Auto Trait Implementations§
impl<'a, EF, V, LF, D> Freeze for ParticipantLifecycleView<'a, EF, V, LF, D>where
&'a LiveMember<EF>: Freeze,
&'a DetachCell<D>: Freeze,
&'a RetiredIdentity<EF, V, LF>: Freeze,
impl<'a, EF, V, LF, D> RefUnwindSafe for ParticipantLifecycleView<'a, EF, V, LF, D>where
&'a LiveMember<EF>: RefUnwindSafe,
&'a DetachCell<D>: RefUnwindSafe,
&'a RetiredIdentity<EF, V, LF>: RefUnwindSafe,
impl<'a, EF, V, LF, D> Send for ParticipantLifecycleView<'a, EF, V, LF, D>
impl<'a, EF, V, LF, D> Sync for ParticipantLifecycleView<'a, EF, V, LF, D>
impl<'a, EF, V, LF, D> Unpin for ParticipantLifecycleView<'a, EF, V, LF, D>
impl<'a, EF, V, LF, D> UnsafeUnpin for ParticipantLifecycleView<'a, EF, V, LF, D>where
&'a LiveMember<EF>: UnsafeUnpin,
&'a DetachCell<D>: UnsafeUnpin,
&'a RetiredIdentity<EF, V, LF>: UnsafeUnpin,
impl<'a, EF, V, LF, D> UnwindSafe for ParticipantLifecycleView<'a, EF, V, LF, D>where
&'a LiveMember<EF>: UnwindSafe,
&'a DetachCell<D>: UnwindSafe,
&'a RetiredIdentity<EF, V, LF>: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more