pub struct TransferHandlerChain<H0, H1> { /* private fields */ }Expand description
Combines two transfer handlers
Implementations§
Source§impl<H0, H1> TransferHandlerChain<H0, H1>
impl<H0, H1> TransferHandlerChain<H0, H1>
Sourcepub fn new(handler0: H0, handler1: H1) -> Self
pub fn new(handler0: H0, handler1: H1) -> Self
Creates a handler chain
Each incoming transfer will be passed to handler 0 first. If handler 0 does not handle the transfer, the transfer will be passed to handler 1.
Sourcepub fn first_mut(&mut self) -> &mut H0
pub fn first_mut(&mut self) -> &mut H0
Returns a mutable reference to the first handler in this chain
Sourcepub fn second_mut(&mut self) -> &mut H1
pub fn second_mut(&mut self) -> &mut H1
Returns a mutable reference to the second handler in this chain
Sourcepub fn into_inner(self) -> (H0, H1)
pub fn into_inner(self) -> (H0, H1)
Splits this chain into its inner handlers
Trait Implementations§
Source§impl<T, H0, H1> TransferHandler<T> for TransferHandlerChain<H0, H1>
impl<T, H0, H1> TransferHandler<T> for TransferHandlerChain<H0, H1>
Source§fn handle_message<N: Node<Transport = T>>(
&mut self,
node: &mut N,
transfer: &MessageTransfer<Vec<u8>, T>,
) -> bool
fn handle_message<N: Node<Transport = T>>( &mut self, node: &mut N, transfer: &MessageTransfer<Vec<u8>, T>, ) -> bool
Potentially handles an incoming message transfer Read more
Source§fn handle_request<N: Node<Transport = T>>(
&mut self,
node: &mut N,
token: ResponseToken<T>,
transfer: &ServiceTransfer<Vec<u8>, T>,
) -> bool
fn handle_request<N: Node<Transport = T>>( &mut self, node: &mut N, token: ResponseToken<T>, transfer: &ServiceTransfer<Vec<u8>, T>, ) -> bool
Potentially handles an incoming service request Read more
Source§fn handle_response<N: Node<Transport = T>>(
&mut self,
node: &mut N,
transfer: &ServiceTransfer<Vec<u8>, T>,
) -> bool
fn handle_response<N: Node<Transport = T>>( &mut self, node: &mut N, transfer: &ServiceTransfer<Vec<u8>, T>, ) -> bool
Potentially handles an incoming service response Read more
Source§fn handle_loopback<N: Node<Transport = T>>(
&mut self,
node: &mut N,
transfer: &Transfer<Vec<u8>, T>,
) -> bool
fn handle_loopback<N: Node<Transport = T>>( &mut self, node: &mut N, transfer: &Transfer<Vec<u8>, T>, ) -> bool
Potentially handles a loopback transfer sent from this node Read more
Source§fn chain<H>(self, next: H) -> TransferHandlerChain<Self, H>where
Self: Sized,
H: TransferHandler<T>,
fn chain<H>(self, next: H) -> TransferHandlerChain<Self, H>where
Self: Sized,
H: TransferHandler<T>,
Chains another handler after this handler and returns the combined handler Read more
Auto Trait Implementations§
impl<H0, H1> Freeze for TransferHandlerChain<H0, H1>
impl<H0, H1> RefUnwindSafe for TransferHandlerChain<H0, H1>where
H0: RefUnwindSafe,
H1: RefUnwindSafe,
impl<H0, H1> Send for TransferHandlerChain<H0, H1>
impl<H0, H1> Sync for TransferHandlerChain<H0, H1>
impl<H0, H1> Unpin for TransferHandlerChain<H0, H1>
impl<H0, H1> UnwindSafe for TransferHandlerChain<H0, H1>where
H0: UnwindSafe,
H1: 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