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}