pub trait HandlerFor<Context: Context>:
HandlerTypes
+ Clone
+ Send
+ Sync
+ 'static {
// Required method
fn handle_async(
&self,
handle_args: HandlerArgsFor<Context, Self>,
) -> impl Future<Output = Result<Self::Ok, Self::Err>> + Send;
// Provided methods
fn handle_sync(
&self,
handle_args: HandlerArgsFor<Context, Self>,
) -> Result<Self::Ok, Self::Err> { ... }
fn handle_async_with_sync<'a>(
&'a self,
handle_args: HandlerArgsFor<Context, Self>,
) -> impl Future<Output = Result<Self::Ok, Self::Err>> + Send + 'a { ... }
fn handle_async_with_sync_blocking<'a>(
&'a self,
handle_args: HandlerArgsFor<Context, Self>,
) -> impl Future<Output = Result<Self::Ok, Self::Err>> + Send + 'a { ... }
fn metadata(
&self,
method: VecDeque<&'static str>,
) -> OrdMap<&'static str, Value> { ... }
fn method_from_dots(&self, method: &str) -> Option<VecDeque<&'static str>> { ... }
}
Required Methods§
fn handle_async( &self, handle_args: HandlerArgsFor<Context, Self>, ) -> impl Future<Output = Result<Self::Ok, Self::Err>> + Send
Provided Methods§
fn handle_sync( &self, handle_args: HandlerArgsFor<Context, Self>, ) -> Result<Self::Ok, Self::Err>
fn handle_async_with_sync<'a>( &'a self, handle_args: HandlerArgsFor<Context, Self>, ) -> impl Future<Output = Result<Self::Ok, Self::Err>> + Send + 'a
fn handle_async_with_sync_blocking<'a>( &'a self, handle_args: HandlerArgsFor<Context, Self>, ) -> impl Future<Output = Result<Self::Ok, Self::Err>> + Send + 'a
fn metadata( &self, method: VecDeque<&'static str>, ) -> OrdMap<&'static str, Value>
fn method_from_dots(&self, method: &str) -> Option<VecDeque<&'static str>>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.