pub struct MiddlewareChain<First, Second>(pub First, pub Second);Expand description
Two factories/handlers composed in builder declaration order.
Tuple Fields§
§0: First§1: SecondTrait Implementations§
Source§impl<State, Context, First, Second> ClientMiddleware<State, Context> for MiddlewareChain<First, Second>where
First: ClientMiddleware<State, Context>,
Second: ClientMiddleware<State, Context>,
impl<State, Context, First, Second> ClientMiddleware<State, Context> for MiddlewareChain<First, Second>where
First: ClientMiddleware<State, Context>,
Second: ClientMiddleware<State, Context>,
Source§fn pre_startup(
&mut self,
context: &Context,
state: &mut State,
message: PreStartupMessage,
) -> PreStartupMessage
fn pre_startup( &mut self, context: &Context, state: &mut State, message: PreStartupMessage, ) -> PreStartupMessage
Intercepts a client-originated pre-startup negotiation packet.
Source§fn startup(
&mut self,
context: &Context,
state: &mut State,
message: StartupMessage,
) -> StartupMessage
fn startup( &mut self, context: &Context, state: &mut State, message: StartupMessage, ) -> StartupMessage
Intercepts the owned startup message before it is sent.
Source§fn frontend(
&mut self,
context: &Context,
state: &mut State,
message: FrontendMessage,
) -> FrontendMessage
fn frontend( &mut self, context: &Context, state: &mut State, message: FrontendMessage, ) -> FrontendMessage
Intercepts one message sent by the client.
Source§fn backend(
&mut self,
context: &Context,
state: &mut State,
message: BackendMessage,
) -> BackendMessage
fn backend( &mut self, context: &Context, state: &mut State, message: BackendMessage, ) -> BackendMessage
Intercepts one message received from the server.
Source§impl<First: Clone, Second: Clone> Clone for MiddlewareChain<First, Second>
impl<First: Clone, Second: Clone> Clone for MiddlewareChain<First, Second>
Source§fn clone(&self) -> MiddlewareChain<First, Second>
fn clone(&self) -> MiddlewareChain<First, Second>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl<First: Eq, Second: Eq> Eq for MiddlewareChain<First, Second>
Source§impl<Context, First, Second> MiddlewareFactory<Context> for MiddlewareChain<First, Second>where
First: MiddlewareFactory<Context>,
Second: MiddlewareFactory<Context>,
impl<Context, First, Second> MiddlewareFactory<Context> for MiddlewareChain<First, Second>where
First: MiddlewareFactory<Context>,
Second: MiddlewareFactory<Context>,
Source§type Handler = MiddlewareChain<<First as MiddlewareFactory<Context>>::Handler, <Second as MiddlewareFactory<Context>>::Handler>
type Handler = MiddlewareChain<<First as MiddlewareFactory<Context>>::Handler, <Second as MiddlewareFactory<Context>>::Handler>
Handler owned by that connection.
Source§impl<State, Context, First, Second> ServerMiddleware<State, Context> for MiddlewareChain<First, Second>where
First: ServerMiddleware<State, Context>,
Second: ServerMiddleware<State, Context>,
impl<State, Context, First, Second> ServerMiddleware<State, Context> for MiddlewareChain<First, Second>where
First: ServerMiddleware<State, Context>,
Second: ServerMiddleware<State, Context>,
Source§fn pre_startup(
&mut self,
context: &Context,
state: &mut State,
message: PreStartupMessage,
) -> PreStartupMessage
fn pre_startup( &mut self, context: &Context, state: &mut State, message: PreStartupMessage, ) -> PreStartupMessage
Intercepts one pre-startup packet before protocol dispatch.
Source§fn startup(
&mut self,
context: &Context,
state: &mut State,
message: StartupMessage,
) -> StartupMessage
fn startup( &mut self, context: &Context, state: &mut State, message: StartupMessage, ) -> StartupMessage
Intercepts the owned startup message before authentication.
Source§fn cancellation(
&mut self,
context: &Context,
state: &mut State,
request: CancellationRequest,
) -> CancellationRequest
fn cancellation( &mut self, context: &Context, state: &mut State, request: CancellationRequest, ) -> CancellationRequest
Intercepts an out-of-band cancellation request before it is returned.
Source§fn frontend(
&mut self,
context: &Context,
state: &mut State,
message: FrontendMessage,
) -> FrontendMessage
fn frontend( &mut self, context: &Context, state: &mut State, message: FrontendMessage, ) -> FrontendMessage
Intercepts one message received from the client.
Source§fn backend(
&mut self,
context: &Context,
state: &mut State,
message: BackendMessage,
) -> BackendMessage
fn backend( &mut self, context: &Context, state: &mut State, message: BackendMessage, ) -> BackendMessage
Intercepts one message sent by the server.
impl<First: PartialEq, Second: PartialEq> StructuralPartialEq for MiddlewareChain<First, Second>
Auto Trait Implementations§
impl<First, Second> Freeze for MiddlewareChain<First, Second>
impl<First, Second> RefUnwindSafe for MiddlewareChain<First, Second>where
First: RefUnwindSafe,
Second: RefUnwindSafe,
impl<First, Second> Send for MiddlewareChain<First, Second>
impl<First, Second> Sync for MiddlewareChain<First, Second>
impl<First, Second> Unpin for MiddlewareChain<First, Second>
impl<First, Second> UnsafeUnpin for MiddlewareChain<First, Second>where
First: UnsafeUnpin,
Second: UnsafeUnpin,
impl<First, Second> UnwindSafe for MiddlewareChain<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