Trait MiddlewareDispatch

Source
pub trait MiddlewareDispatch<M> {
    // Required method
    fn invoke(&self, mcx: &MiddlewareContext, msg: M);

    // Provided method
    fn fuse<L>(self, middleware: L) -> CompositeDispatch<L, Self>
       where Self: Sized + Clone,
             L: Middleware<M, Self> { ... }
}

Required Methods§

Source

fn invoke(&self, mcx: &MiddlewareContext, msg: M)

Provided Methods§

Source

fn fuse<L>(self, middleware: L) -> CompositeDispatch<L, Self>
where Self: Sized + Clone, L: Middleware<M, Self>,

Implementations on Foreign Types§

Source§

impl<M> MiddlewareDispatch<M> for Rc<dyn MiddlewareDispatch<M>>

Source§

fn invoke(&self, mcx: &MiddlewareContext, msg: M)

Source§

impl<M, D> MiddlewareDispatch<M> for Rc<D>
where D: MiddlewareDispatch<M>,

Source§

fn invoke(&self, mcx: &MiddlewareContext, msg: M)

Implementors§

Source§

impl<M, F> MiddlewareDispatch<M> for F
where F: Fn(&MiddlewareContext, M),

Source§

impl<M, L, D> MiddlewareDispatch<M> for CompositeDispatch<L, D>
where L: Middleware<M, D>, D: MiddlewareDispatch<M> + Clone,