Struct canadensis::TransferHandlerChain
source · [−]pub struct TransferHandlerChain<H0, H1> { /* private fields */ }
Expand description
Combines two transfer handlers
Implementations
sourceimpl<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
sourceimpl<I, T, H0, H1> TransferHandler<I, T> for TransferHandlerChain<H0, H1> where
I: Instant,
T: Transport,
H0: TransferHandler<I, T>,
H1: TransferHandler<I, T>,
impl<I, T, H0, H1> TransferHandler<I, T> for TransferHandlerChain<H0, H1> where
I: Instant,
T: Transport,
H0: TransferHandler<I, T>,
H1: TransferHandler<I, T>,
sourcefn handle_message<N: Node<Instant = I, Transport = T>>(
&mut self,
node: &mut N,
transfer: &MessageTransfer<Vec<u8>, I, T>
) -> bool
fn handle_message<N: Node<Instant = I, Transport = T>>(
&mut self,
node: &mut N,
transfer: &MessageTransfer<Vec<u8>, I, T>
) -> bool
Potentially handles an incoming message transfer Read more
sourcefn handle_request<N: Node<Instant = I, Transport = T>>(
&mut self,
node: &mut N,
token: ResponseToken<T>,
transfer: &ServiceTransfer<Vec<u8>, I, T>
) -> bool
fn handle_request<N: Node<Instant = I, Transport = T>>(
&mut self,
node: &mut N,
token: ResponseToken<T>,
transfer: &ServiceTransfer<Vec<u8>, I, T>
) -> bool
Potentially handles an incoming service request Read more
sourcefn handle_response<N: Node<Instant = I, Transport = T>>(
&mut self,
node: &mut N,
transfer: &ServiceTransfer<Vec<u8>, I, T>
) -> bool
fn handle_response<N: Node<Instant = I, Transport = T>>(
&mut self,
node: &mut N,
transfer: &ServiceTransfer<Vec<u8>, I, T>
) -> bool
Potentially handles an incoming service response Read more
sourcefn chain<H>(self, next: H) -> TransferHandlerChain<Self, H> where
Self: Sized,
H: TransferHandler<I, T>,
fn chain<H>(self, next: H) -> TransferHandlerChain<Self, H> where
Self: Sized,
H: TransferHandler<I, T>,
Chains another handler after this handler and returns the combined handler Read more
Auto Trait Implementations
impl<H0, H1> RefUnwindSafe for TransferHandlerChain<H0, H1> where
H0: RefUnwindSafe,
H1: RefUnwindSafe,
impl<H0, H1> Send for TransferHandlerChain<H0, H1> where
H0: Send,
H1: Send,
impl<H0, H1> Sync for TransferHandlerChain<H0, H1> where
H0: Sync,
H1: Sync,
impl<H0, H1> Unpin for TransferHandlerChain<H0, H1> where
H0: Unpin,
H1: Unpin,
impl<H0, H1> UnwindSafe for TransferHandlerChain<H0, H1> where
H0: UnwindSafe,
H1: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more