pub struct Then<First, Second> { /* private fields */ }Expand description
Two middleware stages evaluated from first to second.
Trait Implementations§
impl<First: Copy, Second: Copy> Copy for Then<First, Second>
impl<First: Eq, Second: Eq> Eq for Then<First, Second>
Source§impl<Message, State, First, Second> MessageMiddleware<Message, State> for Then<First, Second>where
First: MessageMiddleware<Message, State>,
Second: MessageMiddleware<Message, State>,
impl<Message, State, First, Second> MessageMiddleware<Message, State> for Then<First, Second>where
First: MessageMiddleware<Message, State>,
Second: MessageMiddleware<Message, State>,
Source§type Error = ChainError<<First as MessageMiddleware<Message, State>>::Error, <Second as MessageMiddleware<Message, State>>::Error>
type Error = ChainError<<First as MessageMiddleware<Message, State>>::Error, <Second as MessageMiddleware<Message, State>>::Error>
An error which prevents the message from continuing through the chain.
impl<First: PartialEq, Second: PartialEq> StructuralPartialEq for Then<First, Second>
Source§impl<Role, Phase, Message, State, First, Second> TypedMiddleware<Role, Phase, Message, State> for Then<First, Second>where
First: TypedMiddleware<Role, Phase, Message, State>,
Second: TypedMiddleware<Role, Phase, Message, State>,
impl<Role, Phase, Message, State, First, Second> TypedMiddleware<Role, Phase, Message, State> for Then<First, Second>where
First: TypedMiddleware<Role, Phase, Message, State>,
Second: TypedMiddleware<Role, Phase, Message, State>,
Source§type Error = ChainError<<First as TypedMiddleware<Role, Phase, Message, State>>::Error, <Second as TypedMiddleware<Role, Phase, Message, State>>::Error>
type Error = ChainError<<First as TypedMiddleware<Role, Phase, Message, State>>::Error, <Second as TypedMiddleware<Role, Phase, Message, State>>::Error>
An error which prevents the message from continuing through the chain.
Source§async fn intercept_typed(
&mut self,
state: &mut State,
message: Message,
) -> Result<Message, Self::Error>
async fn intercept_typed( &mut self, state: &mut State, message: Message, ) -> Result<Message, Self::Error>
Observes, mutates, or replaces one phase-legal message and may await while
borrowing both the handler and caller-defined state. Read more
Auto Trait Implementations§
impl<First, Second> Freeze for Then<First, Second>
impl<First, Second> RefUnwindSafe for Then<First, Second>where
First: RefUnwindSafe,
Second: RefUnwindSafe,
impl<First, Second> Send for Then<First, Second>
impl<First, Second> Sync for Then<First, Second>
impl<First, Second> Unpin for Then<First, Second>
impl<First, Second> UnsafeUnpin for Then<First, Second>where
First: UnsafeUnpin,
Second: UnsafeUnpin,
impl<First, Second> UnwindSafe for Then<First, Second>where
First: UnwindSafe,
Second: UnwindSafe,
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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