pub enum ProcessWaitOutcome {
Exited {
code: Option<i32>,
},
TimedOut(BgProcessSnapshot),
NotFound,
Forbidden,
}Expand description
Outcome of BgRegistry::wait_for_exit_as_caller.
Mirrors crate::bg_agent::WaitOutcome but carries process-specific
terminal info (exit code) instead of an agent result. The two enums
stay separate because they really are different things — forcing one
to wear the other’s shape would mean optionalizing fields that aren’t
optional in their natural domain.
Variants§
Exited
Process has exited — either naturally or as a result of an
earlier kill. code is the OS exit code if reported.
Fields
code: Option<i32>Same semantics as BgProcessStatus::Exited::code.
TimedOut(BgProcessSnapshot)
Wait deadline elapsed; the process is still running. The returned snapshot reflects the latest state at the moment the timeout fired (e.g. age has advanced).
NotFound
PID is not in the registry (never tracked, or already removed).
Forbidden
PID exists but caller’s spawner does not match. Model E
permission rule.
Trait Implementations§
Source§impl Clone for ProcessWaitOutcome
impl Clone for ProcessWaitOutcome
Source§fn clone(&self) -> ProcessWaitOutcome
fn clone(&self) -> ProcessWaitOutcome
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ProcessWaitOutcome
impl Debug for ProcessWaitOutcome
Source§impl PartialEq for ProcessWaitOutcome
impl PartialEq for ProcessWaitOutcome
impl Eq for ProcessWaitOutcome
impl StructuralPartialEq for ProcessWaitOutcome
Auto Trait Implementations§
impl Freeze for ProcessWaitOutcome
impl RefUnwindSafe for ProcessWaitOutcome
impl Send for ProcessWaitOutcome
impl Sync for ProcessWaitOutcome
impl Unpin for ProcessWaitOutcome
impl UnsafeUnpin for ProcessWaitOutcome
impl UnwindSafe for ProcessWaitOutcome
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,
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.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more