pub enum PoolError {
Connect(Error),
IoWrite(String),
IoRead(String),
ResponseParse(String),
RegistryCorrupted(String),
Spawn(String),
Handshake(String),
SessionNotFound(String),
VersionMismatch {
client: String,
server: String,
},
}Expand description
Errors produced by the process-pool IPC layer.
All variants are propagated to callers via Result<T, PoolError>.
At the AppService boundary (Subtask 5/6) these are converted to
String to satisfy the existing EngineApi wire contract.
Variants§
Connect(Error)
Unix-domain socket connection failed.
IoWrite(String)
Socket write (or flush) failed after connection was established.
IoRead(String)
Socket read failed after connection was established.
ResponseParse(String)
A response line from the worker could not be parsed as valid JSON.
RegistryCorrupted(String)
registry.json could not be parsed (corrupt or schema mismatch).
Treating this as “empty registry” would silently kill live workers; callers must propagate this error.
Spawn(String)
Spawning the worker subprocess failed.
Handshake(String)
Version handshake with the worker was rejected or timed out.
SessionNotFound(String)
The requested session ID is not present in the pool.
VersionMismatch
The worker was built with a different crate version.
Trait Implementations§
Source§impl Error for PoolError
impl Error for PoolError
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 Freeze for PoolError
impl !RefUnwindSafe for PoolError
impl Send for PoolError
impl Sync for PoolError
impl Unpin for PoolError
impl UnsafeUnpin for PoolError
impl !UnwindSafe for PoolError
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<E> ExternalError for E
impl<E> ExternalError for E
fn into_lua_err(self) -> Error
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<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.