Trait sod::MutService

source ·
pub trait MutService<I> {
    type Output;
    type Error;

    // Required method
    fn process(&mut self, input: I) -> Result<Self::Output, Self::Error>;
}
Expand description

A mut service trait

Accepts &mut self and an input, which produces a Result<Self::Output, Self::Error>

Required Associated Types§

Required Methods§

source

fn process(&mut self, input: I) -> Result<Self::Output, Self::Error>

Implementors§

source§

impl<'a, I, O, E> MutService<I> for DynMutService<'a, I, O, E>

§

type Output = O

§

type Error = E

source§

impl<'a, I: 'a, E, S1: MutService<&'a I, Error = E>, S2: MutService<&'a I, Error = E>> MutService<&'a I> for RefForkService<I, S1, S2>

§

type Output = (<S1 as MutService<&'a I>>::Output, <S2 as MutService<&'a I>>::Output)

§

type Error = E

source§

impl<'a, T> MutService<T> for NoOpService<'a>

§

type Output = T

§

type Error = ()

source§

impl<I, O, E, F: Fn(I) -> Result<O, E>> MutService<I> for FnMutService<I, O, E, F>

§

type Output = O

§

type Error = E

source§

impl<I, P: MutService<I>, S: MutService<P::Output>> MutService<I> for ServiceChain<I, P, S>where <P as MutService<I>>::Error: Debug + 'static, <S as MutService<P::Output>>::Error: Debug + 'static,

§

type Output = <S as MutService<<P as MutService<I>>::Output>>::Output

§

type Error = ServiceChainError<Box<dyn Debug + 'static, Global>>

source§

impl<I, S: Service<I>> MutService<I> for ServiceMut<I, S>

§

type Output = <S as Service<I>>::Output

§

type Error = <S as Service<I>>::Error

source§

impl<I: Clone, E, S1: MutService<I, Error = E>, S2: MutService<I, Error = E>> MutService<I> for CloningForkService<I, S1, S2>

§

type Output = (<S1 as MutService<I>>::Output, <S2 as MutService<I>>::Output)

§

type Error = E