pub enum BootDrainRefusal {
RecoveryArmed,
Shape,
}Expand description
Why F8B boot recovery could not empty a restored conversation’s
immutable-candidate lane (docs/design/F8B-INTENT-DEADLOCK.md §6.2
R-BOOT-VERDICT).
The discrimination is BY TYPE, for the same reason
ParticipantSemanticError::BindingTerminalAdmissionRefused carries
BindingTerminalAdmitError: a consumer deciding what a refused boot
means must not read it out of a formatted message.
Variants§
RecoveryArmed
The lane head is a pending binding terminal under an armed fenced-attach recovery block. The terminal drain refuses outright while a recovery block is armed, and the only consumer of a recovery block is a live fenced attach — which boot cannot perform. Such a store is not repairable by the boot drain, and this verdict is the honest answer rather than a repair.
Shape
Any other drain refusal: the head was reachable, the drain was attempted, and the protocol refused the transition.
Trait Implementations§
Source§impl Clone for BootDrainRefusal
impl Clone for BootDrainRefusal
Source§fn clone(&self) -> BootDrainRefusal
fn clone(&self) -> BootDrainRefusal
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for BootDrainRefusal
Source§impl Debug for BootDrainRefusal
impl Debug for BootDrainRefusal
impl Eq for BootDrainRefusal
Source§impl PartialEq for BootDrainRefusal
impl PartialEq for BootDrainRefusal
impl StructuralPartialEq for BootDrainRefusal
Auto Trait Implementations§
impl Freeze for BootDrainRefusal
impl RefUnwindSafe for BootDrainRefusal
impl Send for BootDrainRefusal
impl Sync for BootDrainRefusal
impl Unpin for BootDrainRefusal
impl UnsafeUnpin for BootDrainRefusal
impl UnwindSafe for BootDrainRefusal
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.