From 31092c4a2441d209637eeb0188ee0dc3438da6c5 Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Sat, 5 Jun 2021 15:39:45 +0200 Subject: [PATCH] Reworked subscriptions --- src/usimp/subscription.rs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/usimp/subscription.rs b/src/usimp/subscription.rs index eaeae2f..fc6221e 100644 --- a/src/usimp/subscription.rs +++ b/src/usimp/subscription.rs @@ -50,25 +50,27 @@ pub async fn push(room_id: &str, event: Event) -> Result<(), Error> { } }; - unsafe { + let mut rooms = unsafe { let mut rooms = ROOMS.as_ref().unwrap().lock().await; if let Some(rooms) = rooms.get_mut(room_id) { - for tx in rooms { - let _res = tx.send(event.clone()).await; - } + rooms.clone() + } else { + Vec::new() } - } + }; for account in accounts { unsafe { let mut accounts = ACCOUNTS.as_ref().unwrap().lock().await; if let Some(acc) = accounts.get_mut(account.as_str()) { - for tx in acc { - let _res = tx.send(event.clone()).await; - } + rooms.append(acc); } } } + for tx in rooms { + let _res = tx.send(event.clone()).await; + } + Ok(()) }