HandlerFnWithState

Trait HandlerFnWithState 

Source
pub trait HandlerFnWithState<P, T, S>: 'static {
    // Required method
    fn handle_inner(&mut self, state: S, env: &Environment) -> T;
}
Expand description

Function-like trait for immutable handlers that extract parameters from the environment with additional state.

P represents the parameter types to extract, T represents the return type, S represents the state type.

Required Methods§

Source

fn handle_inner(&mut self, state: S, env: &Environment) -> T

Internal implementation that extracts parameters from the environment and calls the handler.

Implementors§

Source§

impl<F, S, R> HandlerFnWithState<(), R, S> for F
where F: FnMut(S) -> R + 'static,

Source§

impl<F, S, R, T0: Extractor> HandlerFnWithState<(T0,), R, S> for F
where F: FnMut(S, T0) -> R + 'static,

Source§

impl<F, S, R, T0: Extractor, T1: Extractor> HandlerFnWithState<(T0, T1), R, S> for F
where F: FnMut(S, T0, T1) -> R + 'static,

Source§

impl<F, S, R, T0: Extractor, T1: Extractor, T2: Extractor> HandlerFnWithState<(T0, T1, T2), R, S> for F
where F: FnMut(S, T0, T1, T2) -> R + 'static,

Source§

impl<F, S, R, T0: Extractor, T1: Extractor, T2: Extractor, T3: Extractor> HandlerFnWithState<(T0, T1, T2, T3), R, S> for F
where F: FnMut(S, T0, T1, T2, T3) -> R + 'static,

Source§

impl<F, S, R, T0: Extractor, T1: Extractor, T2: Extractor, T3: Extractor, T4: Extractor> HandlerFnWithState<(T0, T1, T2, T3, T4), R, S> for F
where F: FnMut(S, T0, T1, T2, T3, T4) -> R + 'static,

Source§

impl<F, S, R, T0: Extractor, T1: Extractor, T2: Extractor, T3: Extractor, T4: Extractor, T5: Extractor> HandlerFnWithState<(T0, T1, T2, T3, T4, T5), R, S> for F
where F: FnMut(S, T0, T1, T2, T3, T4, T5) -> R + 'static,

Source§

impl<F, S, R, T0: Extractor, T1: Extractor, T2: Extractor, T3: Extractor, T4: Extractor, T5: Extractor, T6: Extractor> HandlerFnWithState<(T0, T1, T2, T3, T4, T5, T6), R, S> for F
where F: FnMut(S, T0, T1, T2, T3, T4, T5, T6) -> R + 'static,

Source§

impl<F, S, R, T0: Extractor, T1: Extractor, T2: Extractor, T3: Extractor, T4: Extractor, T5: Extractor, T6: Extractor, T7: Extractor> HandlerFnWithState<(T0, T1, T2, T3, T4, T5, T6, T7), R, S> for F
where F: FnMut(S, T0, T1, T2, T3, T4, T5, T6, T7) -> R + 'static,

Source§

impl<F, S, R, T0: Extractor, T1: Extractor, T2: Extractor, T3: Extractor, T4: Extractor, T5: Extractor, T6: Extractor, T7: Extractor, T8: Extractor> HandlerFnWithState<(T0, T1, T2, T3, T4, T5, T6, T7, T8), R, S> for F
where F: FnMut(S, T0, T1, T2, T3, T4, T5, T6, T7, T8) -> R + 'static,

Source§

impl<F, S, R, T0: Extractor, T1: Extractor, T2: Extractor, T3: Extractor, T4: Extractor, T5: Extractor, T6: Extractor, T7: Extractor, T8: Extractor, T9: Extractor> HandlerFnWithState<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9), R, S> for F
where F: FnMut(S, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) -> R + 'static,

Source§

impl<F, S, R, T0: Extractor, T1: Extractor, T2: Extractor, T3: Extractor, T4: Extractor, T5: Extractor, T6: Extractor, T7: Extractor, T8: Extractor, T9: Extractor, T10: Extractor> HandlerFnWithState<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10), R, S> for F
where F: FnMut(S, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) -> R + 'static,

Source§

impl<F, S, R, T0: Extractor, T1: Extractor, T2: Extractor, T3: Extractor, T4: Extractor, T5: Extractor, T6: Extractor, T7: Extractor, T8: Extractor, T9: Extractor, T10: Extractor, T11: Extractor> HandlerFnWithState<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11), R, S> for F
where F: FnMut(S, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) -> R + 'static,

Source§

impl<F, S, R, T0: Extractor, T1: Extractor, T2: Extractor, T3: Extractor, T4: Extractor, T5: Extractor, T6: Extractor, T7: Extractor, T8: Extractor, T9: Extractor, T10: Extractor, T11: Extractor, T12: Extractor> HandlerFnWithState<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12), R, S> for F
where F: FnMut(S, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) -> R + 'static,

Source§

impl<F, S, R, T0: Extractor, T1: Extractor, T2: Extractor, T3: Extractor, T4: Extractor, T5: Extractor, T6: Extractor, T7: Extractor, T8: Extractor, T9: Extractor, T10: Extractor, T11: Extractor, T12: Extractor, T13: Extractor> HandlerFnWithState<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13), R, S> for F
where F: FnMut(S, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) -> R + 'static,

Source§

impl<F, S, R, T0: Extractor, T1: Extractor, T2: Extractor, T3: Extractor, T4: Extractor, T5: Extractor, T6: Extractor, T7: Extractor, T8: Extractor, T9: Extractor, T10: Extractor, T11: Extractor, T12: Extractor, T13: Extractor, T14: Extractor> HandlerFnWithState<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14), R, S> for F
where F: FnMut(S, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) -> R + 'static,