pub struct WireAdapter<Wire, Handler> { /* private fields */ }Expand description
Adapts one direction-wide wire middleware to every generated typed phase.
Messages returned by the wrapped middleware are re-projected into the same
phase-specific Message type. This provides a pass-through default for
policies which inspect only selected wire families; a replacement which is
illegal in the inferred phase is returned as an error.
Implementations§
Source§impl<Wire, Handler> WireAdapter<Wire, Handler>
impl<Wire, Handler> WireAdapter<Wire, Handler>
Sourcepub const fn new(handler: Handler) -> Self
pub const fn new(handler: Handler) -> Self
Wraps direction-wide wire middleware for use at typed interception points.
Sourcepub fn into_inner(self) -> Handler
pub fn into_inner(self) -> Handler
Returns the wrapped wire middleware.
Trait Implementations§
Source§impl<Role, Phase, Message, State, Wire, Handler> TypedMiddleware<Role, Phase, Message, State> for WireAdapter<Wire, Handler>
impl<Role, Phase, Message, State, Wire, Handler> TypedMiddleware<Role, Phase, Message, State> for WireAdapter<Wire, Handler>
Source§type Error = WireAdapterError<<Handler as MessageMiddleware<Wire, State>>::Error, Wire>
type Error = WireAdapterError<<Handler as MessageMiddleware<Wire, State>>::Error, Wire>
An error which prevents the message from continuing through the chain.
Source§fn intercept_typed(
&mut self,
state: &mut State,
message: Message,
) -> Result<Message, Self::Error>
fn intercept_typed( &mut self, state: &mut State, message: Message, ) -> Result<Message, Self::Error>
Observes, mutates, or replaces one phase-legal message. Read more
Auto Trait Implementations§
impl<Wire, Handler> Freeze for WireAdapter<Wire, Handler>where
Handler: Freeze,
impl<Wire, Handler> RefUnwindSafe for WireAdapter<Wire, Handler>where
Handler: RefUnwindSafe,
impl<Wire, Handler> Send for WireAdapter<Wire, Handler>where
Handler: Send,
impl<Wire, Handler> Sync for WireAdapter<Wire, Handler>where
Handler: Sync,
impl<Wire, Handler> Unpin for WireAdapter<Wire, Handler>where
Handler: Unpin,
impl<Wire, Handler> UnsafeUnpin for WireAdapter<Wire, Handler>where
Handler: UnsafeUnpin,
impl<Wire, Handler> UnwindSafe for WireAdapter<Wire, Handler>where
Handler: 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