#[non_exhaustive]pub enum SignalOutcome {
Delivered,
NotRunning,
Failed {
reason: String,
},
}Expand description
What happened when the shepherd tried to deliver one signal.
#[non_exhaustive]: a future outcome — a sheep refused because it is a dog,
say, or a delivery held while a stop ladder runs — must not need a protocol
version bump (IR-20).
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Delivered
The kernel accepted the signal for this sheep’s pid.
Says the signal was delivered, not that the app did anything with it.
A signal the app blocks, ignores, or has no handler for is Delivered
exactly like one it acts on — there is nothing on this path that could
tell the difference, and pretending otherwise would be the dishonest
half of an honest report.
NotRunning
The sheep is registered but has no live process to signal — stopped, errored, or waiting out a restart backoff.
Failed
The kernel refused the delivery; carries its reason (ESRCH for a
process reaped between the lookup and the syscall, EPERM for one this
daemon may not signal).
Trait Implementations§
Source§impl Clone for SignalOutcome
impl Clone for SignalOutcome
Source§fn clone(&self) -> SignalOutcome
fn clone(&self) -> SignalOutcome
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SignalOutcome
impl Debug for SignalOutcome
Source§impl<'de> Deserialize<'de> for SignalOutcome
impl<'de> Deserialize<'de> for SignalOutcome
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for SignalOutcome
Source§impl PartialEq for SignalOutcome
impl PartialEq for SignalOutcome
Source§impl Serialize for SignalOutcome
impl Serialize for SignalOutcome
impl StructuralPartialEq for SignalOutcome
Auto Trait Implementations§
impl Freeze for SignalOutcome
impl RefUnwindSafe for SignalOutcome
impl Send for SignalOutcome
impl Sync for SignalOutcome
impl Unpin for SignalOutcome
impl UnsafeUnpin for SignalOutcome
impl UnwindSafe for SignalOutcome
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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.