pub trait IoHandlerExtension<M: Metadata = ()> {
    // Required method
    fn augment<S: Middleware<M>>(self, handler: &mut MetaIoHandler<M, S>);
}
Expand description

A type that can augment MetaIoHandler.

This allows your code to accept generic extensions for IoHandler and compose them to create the RPC server.

Required Methods§

source

fn augment<S: Middleware<M>>(self, handler: &mut MetaIoHandler<M, S>)

Extend given handler with additional methods.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<M> IoHandlerExtension<M> for ()where M: Metadata,

source§

fn augment<S: Middleware<M>>(self, handler: &mut MetaIoHandler<M, S>)

source§

impl<M, A> IoHandlerExtension<M> for (A,)where M: Metadata, A: IoHandlerExtension<M>,

source§

fn augment<S: Middleware<M>>(self, handler: &mut MetaIoHandler<M, S>)

source§

impl<M, A, B> IoHandlerExtension<M> for (A, B)where M: Metadata, A: IoHandlerExtension<M>, B: IoHandlerExtension<M>,

source§

fn augment<S: Middleware<M>>(self, handler: &mut MetaIoHandler<M, S>)

source§

impl<M, A, B, C> IoHandlerExtension<M> for (A, B, C)where M: Metadata, A: IoHandlerExtension<M>, B: IoHandlerExtension<M>, C: IoHandlerExtension<M>,

source§

fn augment<S: Middleware<M>>(self, handler: &mut MetaIoHandler<M, S>)

source§

impl<M, A, B, C, D> IoHandlerExtension<M> for (A, B, C, D)where M: Metadata, A: IoHandlerExtension<M>, B: IoHandlerExtension<M>, C: IoHandlerExtension<M>, D: IoHandlerExtension<M>,

source§

fn augment<S: Middleware<M>>(self, handler: &mut MetaIoHandler<M, S>)

source§

impl<M, A, B, C, D, E> IoHandlerExtension<M> for (A, B, C, D, E)where M: Metadata, A: IoHandlerExtension<M>, B: IoHandlerExtension<M>, C: IoHandlerExtension<M>, D: IoHandlerExtension<M>, E: IoHandlerExtension<M>,

source§

fn augment<S: Middleware<M>>(self, handler: &mut MetaIoHandler<M, S>)

source§

impl<M, A, B, C, D, E, F> IoHandlerExtension<M> for (A, B, C, D, E, F)where M: Metadata, A: IoHandlerExtension<M>, B: IoHandlerExtension<M>, C: IoHandlerExtension<M>, D: IoHandlerExtension<M>, E: IoHandlerExtension<M>, F: IoHandlerExtension<M>,

source§

fn augment<S: Middleware<M>>(self, handler: &mut MetaIoHandler<M, S>)

source§

impl<M, A, B, C, D, E, F, G> IoHandlerExtension<M> for (A, B, C, D, E, F, G)where M: Metadata, A: IoHandlerExtension<M>, B: IoHandlerExtension<M>, C: IoHandlerExtension<M>, D: IoHandlerExtension<M>, E: IoHandlerExtension<M>, F: IoHandlerExtension<M>, G: IoHandlerExtension<M>,

source§

fn augment<S: Middleware<M>>(self, handler: &mut MetaIoHandler<M, S>)

source§

impl<M, A, B, C, D, E, F, G, H> IoHandlerExtension<M> for (A, B, C, D, E, F, G, H)where M: Metadata, A: IoHandlerExtension<M>, B: IoHandlerExtension<M>, C: IoHandlerExtension<M>, D: IoHandlerExtension<M>, E: IoHandlerExtension<M>, F: IoHandlerExtension<M>, G: IoHandlerExtension<M>, H: IoHandlerExtension<M>,

source§

fn augment<S: Middleware<M>>(self, handler: &mut MetaIoHandler<M, S>)

source§

impl<M, A, B, C, D, E, F, G, H, I> IoHandlerExtension<M> for (A, B, C, D, E, F, G, H, I)where M: Metadata, A: IoHandlerExtension<M>, B: IoHandlerExtension<M>, C: IoHandlerExtension<M>, D: IoHandlerExtension<M>, E: IoHandlerExtension<M>, F: IoHandlerExtension<M>, G: IoHandlerExtension<M>, H: IoHandlerExtension<M>, I: IoHandlerExtension<M>,

source§

fn augment<S: Middleware<M>>(self, handler: &mut MetaIoHandler<M, S>)

source§

impl<M, A, B, C, D, E, F, G, H, I, J> IoHandlerExtension<M> for (A, B, C, D, E, F, G, H, I, J)where M: Metadata, A: IoHandlerExtension<M>, B: IoHandlerExtension<M>, C: IoHandlerExtension<M>, D: IoHandlerExtension<M>, E: IoHandlerExtension<M>, F: IoHandlerExtension<M>, G: IoHandlerExtension<M>, H: IoHandlerExtension<M>, I: IoHandlerExtension<M>, J: IoHandlerExtension<M>,

source§

fn augment<S: Middleware<M>>(self, handler: &mut MetaIoHandler<M, S>)

source§

impl<M, A, B, C, D, E, F, G, H, I, J, K> IoHandlerExtension<M> for (A, B, C, D, E, F, G, H, I, J, K)where M: Metadata, A: IoHandlerExtension<M>, B: IoHandlerExtension<M>, C: IoHandlerExtension<M>, D: IoHandlerExtension<M>, E: IoHandlerExtension<M>, F: IoHandlerExtension<M>, G: IoHandlerExtension<M>, H: IoHandlerExtension<M>, I: IoHandlerExtension<M>, J: IoHandlerExtension<M>, K: IoHandlerExtension<M>,

source§

fn augment<S: Middleware<M>>(self, handler: &mut MetaIoHandler<M, S>)

source§

impl<M, A, B, C, D, E, F, G, H, I, J, K, L> IoHandlerExtension<M> for (A, B, C, D, E, F, G, H, I, J, K, L)where M: Metadata, A: IoHandlerExtension<M>, B: IoHandlerExtension<M>, C: IoHandlerExtension<M>, D: IoHandlerExtension<M>, E: IoHandlerExtension<M>, F: IoHandlerExtension<M>, G: IoHandlerExtension<M>, H: IoHandlerExtension<M>, I: IoHandlerExtension<M>, J: IoHandlerExtension<M>, K: IoHandlerExtension<M>, L: IoHandlerExtension<M>,

source§

fn augment<S: Middleware<M>>(self, handler: &mut MetaIoHandler<M, S>)

source§

impl<M: Metadata> IoHandlerExtension<M> for Vec<(String, RemoteProcedure<M>)>

source§

fn augment<S: Middleware<M>>(self, handler: &mut MetaIoHandler<M, S>)

source§

impl<M: Metadata> IoHandlerExtension<M> for HashMap<String, RemoteProcedure<M>>

source§

fn augment<S: Middleware<M>>(self, handler: &mut MetaIoHandler<M, S>)

source§

impl<M: Metadata, T: IoHandlerExtension<M>> IoHandlerExtension<M> for Option<T>

source§

fn augment<S: Middleware<M>>(self, handler: &mut MetaIoHandler<M, S>)

Implementors§

source§

impl<M: Metadata> IoHandlerExtension<M> for IoHandler<M>

source§

impl<M: Metadata, S2: Middleware<M>> IoHandlerExtension<M> for MetaIoHandler<M, S2>

source§

impl<T, M> IoHandlerExtension<M> for IoDelegate<T, M>where T: Send + Sync + 'static, M: Metadata,