pub enum ExecutorError {
Spawn {
command: String,
source: Error,
},
Io(Error),
ChildExit {
code: Option<i32>,
stderr: String,
},
Decode {
reason: String,
},
Timeout {
ms: u64,
},
DaemonUnavailable {
attempts: u32,
},
GovernanceRefused {
command: String,
reason: String,
},
}Expand description
Errors surfaced by the executor layer. Hand-rolled Display + Error per the v0.7 lesson (no thiserror in this crate’s hot
dependency tree).
Variants§
Spawn
The configured command could not be spawned (missing
binary, permissions, etc.).
Io(Error)
I/O failure talking to the child’s stdio pipes.
ChildExit
The child returned non-zero or closed its stdout without writing a decision.
Decode
The child wrote a payload we could not parse as a
HookDecision.
Timeout
The fire deadline (HookConfig.timeout_ms) elapsed before
the child returned a decision.
The daemon child crashed or was unreachable after exhausting the reconnect budget.
GovernanceRefused
v0.7.0 (issue #691 fold-1) — the governance pre-action wire
hook refused the ProcessSpawn action. reason carries the
operator-authored explanation from the matched rule. Surfaced
to the chain runner so the cascade policy can treat it as a
distinct outcome from a Spawn / Io error.
Trait Implementations§
Source§impl Debug for ExecutorError
impl Debug for ExecutorError
Source§impl Display for ExecutorError
impl Display for ExecutorError
Source§impl Error for ExecutorError
impl Error for ExecutorError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Auto Trait Implementations§
impl !RefUnwindSafe for ExecutorError
impl !UnwindSafe for ExecutorError
impl Freeze for ExecutorError
impl Send for ExecutorError
impl Sync for ExecutorError
impl Unpin for ExecutorError
impl UnsafeUnpin for ExecutorError
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<T> ErasedDestructor for Twhere
T: 'static,
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
CompactString. Read moreSource§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.