ev_apple/internal_senders.rs
1use super::common::*;
2
3#[derive(Clone)]
4pub struct Senders<T: Send + Message + 'static>(pub Arc<RwLock<HashMap<u32, Sender<T>>>>);
5
6impl<T: Send + Message + 'static> Default for Senders<T> {
7 fn default() -> Self {
8 Self {
9 0: Arc::new(RwLock::new(HashMap::new())),
10 }
11 }
12}
13
14impl<T: Send + Message + 'static> Senders<T> {
15 pub async fn register(&self, i: u32, sender: Sender<T>) {
16 self.0.write().await.insert(i, sender);
17 }
18}