pub enum SubprocessInvokerError {
ReceiptEmittedRejected(RouteError),
Spawn(Error),
WriteRequest(Error),
SerializeRequest(Error),
ReadResponse(Error),
ParseResponse(Error),
InvalidResponse(ValidationError),
NonZeroExit {
code: Option<i32>,
stderr: String,
},
Timeout,
}Expand description
Failure variants surfaced by SubprocessCallbackInvoker::invoke.
Every variant maps deterministically onto a single
FailureClass from the shared vocabulary — no new failure
classes are introduced by the subprocess transport.
Variants§
ReceiptEmittedRejected(RouteError)
Plan rejected before spawn because the event is
receipt.emitted (a notification event that must not produce
downstream invocations). Maps to
FailureClass::InvalidRequest.
Spawn(Error)
Failed to spawn the child (e.g. binary not found, permission
denied). Maps to FailureClass::TransportError.
WriteRequest(Error)
Failed to write the request JSON to the child’s stdin. Maps to
FailureClass::TransportError.
SerializeRequest(Error)
Failed to serialize the crate::CallbackRequest before writing.
Treated as an internal-class failure — the bug is on the
Lifeloop side, not the transport.
ReadResponse(Error)
Failed to read the child’s stdout. Maps to
FailureClass::TransportError.
ParseResponse(Error)
Child wrote bytes that did not parse as JSON. Maps to
FailureClass::InvalidRequest — the response is malformed
at the wire layer.
InvalidResponse(ValidationError)
JSON parsed cleanly but the response failed
CallbackResponse::validate. Maps to
FailureClass::InvalidRequest.
NonZeroExit
Child exited non-zero. Maps to
FailureClass::TransportError — the transport returned a
failure signal we cannot interpret further.
Timeout
Round trip exceeded the configured timeout; child was killed.
Maps to FailureClass::Timeout.
Trait Implementations§
Source§impl Debug for SubprocessInvokerError
impl Debug for SubprocessInvokerError
Source§impl Display for SubprocessInvokerError
impl Display for SubprocessInvokerError
Source§impl Error for SubprocessInvokerError
impl Error for SubprocessInvokerError
1.30.0 · 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()