#[non_exhaustive]pub enum WorkerError {
Transport(String),
Python(String),
Env(String),
Encoding(String),
Concurrency(String),
Remote(String),
Io(Error),
Core(SomaError),
}Expand description
A failure inside a worker.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Transport(String)
The socket or the HTTP endpoint. Usually worth retrying.
Python(String)
The Python subprocess: it would not start, would not answer, or answered something that was not a reply.
Env(String)
Building or updating an isolated environment.
Encoding(String)
A payload that would not encode or decode. Distinct from
WorkerError::Transport: the bytes arrived, they were wrong.
Concurrency(String)
A lock was poisoned or a worker thread panicked. Means some other error already happened and took a thread with it.
Remote(String)
The remote worker ran the plan and reported a failure. The message is the worker’s, not ours.
Io(Error)
Filesystem or process I/O, kept as the original io::Error so
callers can still match on its kind.
Core(SomaError)
A failure that came from the shared core — a cache miss that mattered, a bad graph — and is passed through unchanged.
Trait Implementations§
Source§impl Debug for WorkerError
impl Debug for WorkerError
Source§impl Display for WorkerError
impl Display for WorkerError
Source§impl Error for WorkerError
impl Error for WorkerError
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()
Source§impl From<Error> for WorkerError
impl From<Error> for WorkerError
Source§impl From<SomaError> for WorkerError
impl From<SomaError> for WorkerError
Source§impl From<WorkerError> for SomaError
The seam. A worker error crossing into the runtime keeps its message
and its prefix, so transport: WS connect: … still says which layer
failed even after the type is gone.
impl From<WorkerError> for SomaError
The seam. A worker error crossing into the runtime keeps its message
and its prefix, so transport: WS connect: … still says which layer
failed even after the type is gone.
Source§fn from(e: WorkerError) -> Self
fn from(e: WorkerError) -> Self
Auto Trait Implementations§
impl Freeze for WorkerError
impl !RefUnwindSafe for WorkerError
impl Send for WorkerError
impl Sync for WorkerError
impl Unpin for WorkerError
impl UnsafeUnpin for WorkerError
impl !UnwindSafe for WorkerError
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> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.