data_router/receive/
pass_receiver.rs

1use crate::view::{DeleteView, View};
2
3use super::{Receive, ReceiverResult};
4
5#[derive(Clone, Copy, Default, Debug)]
6pub struct PassReceiver;
7
8impl<E> Receive<E> for PassReceiver {
9    type Output = E;
10    fn send(&mut self, event: E) -> ReceiverResult<E, Self::Output> {
11        ReceiverResult::Continue(event)
12    }
13}
14
15impl<E> View<E> for PassReceiver {
16    fn view(&mut self, _event: &E) -> Option<DeleteView> {
17        None
18    }
19}
20
21impl std::fmt::Display for PassReceiver {
22    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
23        write!(f, "PassReceiver")
24    }
25}