near_async/
break_apart.rs

1use crate::messaging::{CanSend, Sender};
2
3/// Allows a Sender<M> to be used like a Sender<S> as long as S can be converted to M.
4pub struct BreakApart<M: 'static> {
5    pub(crate) sender: Sender<M>,
6}
7
8impl<S, M: From<S> + 'static> CanSend<S> for BreakApart<M> {
9    fn send(&self, message: S) {
10        self.sender.send(M::from(message))
11    }
12}