pub struct MiddlewareWithResponseHandler<TState, TLayerCtx, TNewCtx, THandlerFunc, THandlerFut, TRespHandlerFunc, TRespHandlerFut>where
TState: Send,
TLayerCtx: Send,
THandlerFunc: Fn(MiddlewareContext<TLayerCtx, TLayerCtx, ()>) -> THandlerFut + Clone,
THandlerFut: Future<Output = Result<MiddlewareContext<TLayerCtx, TNewCtx, TState>, Error>> + Send + 'static,
TRespHandlerFunc: Fn(TState, Value) -> TRespHandlerFut + Clone + Sync + Send + 'static,
TRespHandlerFut: Future<Output = Result<Value, Error>> + Send + 'static,{ /* private fields */ }Trait Implementations§
Source§impl<TState, TLayerCtx, TNewCtx, THandlerFunc, THandlerFut, TRespHandlerFunc, TRespHandlerFut> Clone for MiddlewareWithResponseHandler<TState, TLayerCtx, TNewCtx, THandlerFunc, THandlerFut, TRespHandlerFunc, TRespHandlerFut>where
TState: Send,
TLayerCtx: Send,
THandlerFunc: Fn(MiddlewareContext<TLayerCtx, TLayerCtx, ()>) -> THandlerFut + Clone,
THandlerFut: Future<Output = Result<MiddlewareContext<TLayerCtx, TNewCtx, TState>, Error>> + Send + 'static,
TRespHandlerFunc: Fn(TState, Value) -> TRespHandlerFut + Clone + Sync + Send + 'static,
TRespHandlerFut: Future<Output = Result<Value, Error>> + Send + 'static,
impl<TState, TLayerCtx, TNewCtx, THandlerFunc, THandlerFut, TRespHandlerFunc, TRespHandlerFut> Clone for MiddlewareWithResponseHandler<TState, TLayerCtx, TNewCtx, THandlerFunc, THandlerFut, TRespHandlerFunc, TRespHandlerFut>where
TState: Send,
TLayerCtx: Send,
THandlerFunc: Fn(MiddlewareContext<TLayerCtx, TLayerCtx, ()>) -> THandlerFut + Clone,
THandlerFut: Future<Output = Result<MiddlewareContext<TLayerCtx, TNewCtx, TState>, Error>> + Send + 'static,
TRespHandlerFunc: Fn(TState, Value) -> TRespHandlerFut + Clone + Sync + Send + 'static,
TRespHandlerFut: Future<Output = Result<Value, Error>> + Send + 'static,
Source§impl<TState, TLayerCtx, TNewCtx, THandlerFunc, THandlerFut, TRespHandlerFunc, TRespHandlerFut> MiddlewareLike<TLayerCtx> for MiddlewareWithResponseHandler<TState, TLayerCtx, TNewCtx, THandlerFunc, THandlerFut, TRespHandlerFunc, TRespHandlerFut>where
TState: Clone + Send + Sync + 'static,
TLayerCtx: Send + 'static,
TNewCtx: Send + 'static,
THandlerFunc: Fn(MiddlewareContext<TLayerCtx, TLayerCtx, ()>) -> THandlerFut + Clone,
THandlerFut: Future<Output = Result<MiddlewareContext<TLayerCtx, TNewCtx, TState>, Error>> + Send + 'static,
TRespHandlerFunc: Fn(TState, Value) -> TRespHandlerFut + Clone + Sync + Send + 'static,
TRespHandlerFut: Future<Output = Result<Value, Error>> + Send + 'static,
impl<TState, TLayerCtx, TNewCtx, THandlerFunc, THandlerFut, TRespHandlerFunc, TRespHandlerFut> MiddlewareLike<TLayerCtx> for MiddlewareWithResponseHandler<TState, TLayerCtx, TNewCtx, THandlerFunc, THandlerFut, TRespHandlerFunc, TRespHandlerFut>where
TState: Clone + Send + Sync + 'static,
TLayerCtx: Send + 'static,
TNewCtx: Send + 'static,
THandlerFunc: Fn(MiddlewareContext<TLayerCtx, TLayerCtx, ()>) -> THandlerFut + Clone,
THandlerFut: Future<Output = Result<MiddlewareContext<TLayerCtx, TNewCtx, TState>, Error>> + Send + 'static,
TRespHandlerFunc: Fn(TState, Value) -> TRespHandlerFut + Clone + Sync + Send + 'static,
TRespHandlerFut: Future<Output = Result<Value, Error>> + Send + 'static,
Auto Trait Implementations§
impl<TState, TLayerCtx, TNewCtx, THandlerFunc, THandlerFut, TRespHandlerFunc, TRespHandlerFut> Freeze for MiddlewareWithResponseHandler<TState, TLayerCtx, TNewCtx, THandlerFunc, THandlerFut, TRespHandlerFunc, TRespHandlerFut>
impl<TState, TLayerCtx, TNewCtx, THandlerFunc, THandlerFut, TRespHandlerFunc, TRespHandlerFut> RefUnwindSafe for MiddlewareWithResponseHandler<TState, TLayerCtx, TNewCtx, THandlerFunc, THandlerFut, TRespHandlerFunc, TRespHandlerFut>where
THandlerFunc: RefUnwindSafe,
TRespHandlerFunc: RefUnwindSafe,
TState: RefUnwindSafe,
TLayerCtx: RefUnwindSafe,
impl<TState, TLayerCtx, TNewCtx, THandlerFunc, THandlerFut, TRespHandlerFunc, TRespHandlerFut> Send for MiddlewareWithResponseHandler<TState, TLayerCtx, TNewCtx, THandlerFunc, THandlerFut, TRespHandlerFunc, TRespHandlerFut>where
THandlerFunc: Send,
impl<TState, TLayerCtx, TNewCtx, THandlerFunc, THandlerFut, TRespHandlerFunc, TRespHandlerFut> Sync for MiddlewareWithResponseHandler<TState, TLayerCtx, TNewCtx, THandlerFunc, THandlerFut, TRespHandlerFunc, TRespHandlerFut>
impl<TState, TLayerCtx, TNewCtx, THandlerFunc, THandlerFut, TRespHandlerFunc, TRespHandlerFut> Unpin for MiddlewareWithResponseHandler<TState, TLayerCtx, TNewCtx, THandlerFunc, THandlerFut, TRespHandlerFunc, TRespHandlerFut>
impl<TState, TLayerCtx, TNewCtx, THandlerFunc, THandlerFut, TRespHandlerFunc, TRespHandlerFut> UnwindSafe for MiddlewareWithResponseHandler<TState, TLayerCtx, TNewCtx, THandlerFunc, THandlerFut, TRespHandlerFunc, TRespHandlerFut>where
THandlerFunc: UnwindSafe,
TRespHandlerFunc: UnwindSafe,
TState: UnwindSafe,
TLayerCtx: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more