pub enum DispatchError<I: InterfaceData> {
Deadlock,
WitParserError(I::Error),
InvalidInterface(String),
InvalidFunction(String),
MissingResponse,
RuntimeException(Error),
InvalidArgumentList,
UnsupportedType(String),
ResourceCreationError(ResourceCreationError),
ResourceReceiveError(ResourceReceiveError),
}Expand description
Errors that can occur when dispatching a function call to plugins.
Returned inside the Socket from PluginTreeHead::dispatch when a
function call fails at runtime.
Variants§
Deadlock
Failed to acquire lock on plugin instance (another call is in progress).
WitParserError(I::Error)
Failed to parse interface metadata during dispatch.
InvalidInterface(String)
The specified interface path doesn’t match any known interface.
InvalidFunction(String)
The specified function doesn’t exist on the interface.
MissingResponse
Function was expected to return a value but didn’t.
RuntimeException(Error)
The WASM function threw an exception during execution.
InvalidArgumentList
The provided arguments don’t match the function signature.
UnsupportedType(String)
Async types (Future, Stream, ErrorContext) are not yet supported for cross-plugin transfer.
ResourceCreationError(ResourceCreationError)
Failed to create a resource handle for cross-plugin transfer.
ResourceReceiveError(ResourceReceiveError)
Failed to receive a resource handle from another plugin.
Trait Implementations§
Source§impl<I: Debug + InterfaceData> Debug for DispatchError<I>
impl<I: Debug + InterfaceData> Debug for DispatchError<I>
Source§impl<I: InterfaceData> Display for DispatchError<I>
impl<I: InterfaceData> Display for DispatchError<I>
Source§impl<I: InterfaceData> Error for DispatchError<I>
impl<I: InterfaceData> Error for DispatchError<I>
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
Source§impl<I: InterfaceData> From<DispatchError<I>> for Val
impl<I: InterfaceData> From<DispatchError<I>> for Val
Source§fn from(error: DispatchError<I>) -> Val
fn from(error: DispatchError<I>) -> Val
Auto Trait Implementations§
impl<I> Freeze for DispatchError<I>
impl<I> RefUnwindSafe for DispatchError<I>
impl<I> Send for DispatchError<I>
impl<I> Sync for DispatchError<I>
impl<I> Unpin for DispatchError<I>
impl<I> UnwindSafe for DispatchError<I>
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> 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<X> Pipe for X
impl<X> Pipe for X
Source§fn pipe_ref<'a, Return, Function>(&'a self, f: Function) -> Returnwhere
Function: FnOnce(&'a Self) -> Return,
fn pipe_ref<'a, Return, Function>(&'a self, f: Function) -> Returnwhere
Function: FnOnce(&'a Self) -> Return,
Source§fn pipe_mut<'a, Return, Function>(&'a mut self, f: Function) -> Returnwhere
Function: FnOnce(&'a mut Self) -> Return,
fn pipe_mut<'a, Return, Function>(&'a mut self, f: Function) -> Returnwhere
Function: FnOnce(&'a mut Self) -> Return,
Source§fn pipe_as_ref<'a, Param, Return, Function>(&'a self, f: Function) -> Return
fn pipe_as_ref<'a, Param, Return, Function>(&'a self, f: Function) -> Return
f to &self where f takes a single parameter of type Param
and Self implements trait AsRef<Param>. Read moreSource§fn pipe_as_mut<'a, Param, Return, Function>(&'a mut self, f: Function) -> Return
fn pipe_as_mut<'a, Param, Return, Function>(&'a mut self, f: Function) -> Return
f to &mut self where f takes a single parameter of type Param
and Self implements trait AsMut<Param>. Read moreSource§fn pipe_deref<'a, Param, Return, Function>(&'a self, f: Function) -> Return
fn pipe_deref<'a, Param, Return, Function>(&'a self, f: Function) -> Return
f to &self where f takes a single parameter of type Param
and Self implements trait Deref<Target = Param>. Read moreSource§fn pipe_deref_mut<'a, Param, Return, Function>(
&'a mut self,
f: Function,
) -> Returnwhere
Self: DerefMut<Target = Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a mut Param) -> Return,
fn pipe_deref_mut<'a, Param, Return, Function>(
&'a mut self,
f: Function,
) -> Returnwhere
Self: DerefMut<Target = Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a mut Param) -> Return,
f to &mut self where f takes a single parameter of type Param
and Self implements trait DerefMut<Target = Param>. Read moreSource§fn pipe_borrow<'a, Param, Return, Function>(&'a self, f: Function) -> Return
fn pipe_borrow<'a, Param, Return, Function>(&'a self, f: Function) -> Return
f to &self where f takes a single parameter of type Param
and Self implements trait Borrow<Param>. Read moreSource§fn pipe_borrow_mut<'a, Param, Return, Function>(
&'a mut self,
f: Function,
) -> Return
fn pipe_borrow_mut<'a, Param, Return, Function>( &'a mut self, f: Function, ) -> Return
f to &mut self where f takes a single parameter of type Param
and Self implements trait BorrowMut<Param>. Read more