From 092315e2cd956d12cf26d3e4abf69fa1b1764794 Mon Sep 17 00:00:00 2001 From: Lambda Date: Mon, 20 May 2024 16:49:20 +0000 Subject: [PATCH] remove unnecessary async and select!{} --- src/database.rs | 4 +-- src/service/admin.rs | 77 +++++++++++++++++++++++--------------------- 2 files changed, 42 insertions(+), 39 deletions(-) diff --git a/src/database.rs b/src/database.rs index ffbf6ef2..4a3ca3ff 100644 --- a/src/database.rs +++ b/src/database.rs @@ -1165,7 +1165,7 @@ impl KeyValueDatabase { services().sending.start_handler(); - Self::start_cleanup_task().await; + Self::start_cleanup_task(); Ok(()) } @@ -1182,7 +1182,7 @@ impl KeyValueDatabase { } #[tracing::instrument] - pub(crate) async fn start_cleanup_task() { + pub(crate) fn start_cleanup_task() { use std::time::{Duration, Instant}; #[cfg(unix)] diff --git a/src/service/admin.rs b/src/service/admin.rs index 562d0ec3..6d1386cc 100644 --- a/src/service/admin.rs +++ b/src/service/admin.rs @@ -239,45 +239,48 @@ impl Service { if let Ok(Some(grapevine_room)) = services().admin.get_admin_room() { loop { - tokio::select! { - Some(event) = receiver.recv() => { - let message_content = match event { - AdminRoomEvent::SendMessage(content) => content, - AdminRoomEvent::ProcessMessage(room_message) => { - self.process_admin_message(room_message).await - } - }; + let event = receiver + .recv() + .await + .expect("admin command channel has been closed"); - let mutex_state = Arc::clone( - services().globals - .roomid_mutex_state - .write() - .await - .entry(grapevine_room.clone()) - .or_default(), - ); - - let state_lock = mutex_state.lock().await; - - services() - .rooms - .timeline - .build_and_append_pdu( - PduBuilder { - event_type: TimelineEventType::RoomMessage, - content: to_raw_value(&message_content) - .expect("event is valid, we just created it"), - unsigned: None, - state_key: None, - redacts: None, - }, - &grapevine_user, - &grapevine_room, - &state_lock, - ) - .await.unwrap(); + let message_content = match event { + AdminRoomEvent::SendMessage(content) => content, + AdminRoomEvent::ProcessMessage(room_message) => { + self.process_admin_message(room_message).await } - } + }; + + let mutex_state = Arc::clone( + services() + .globals + .roomid_mutex_state + .write() + .await + .entry(grapevine_room.clone()) + .or_default(), + ); + + let state_lock = mutex_state.lock().await; + + services() + .rooms + .timeline + .build_and_append_pdu( + PduBuilder { + event_type: TimelineEventType::RoomMessage, + content: to_raw_value(&message_content) + .expect("event is valid, we just created it"), + unsigned: None, + state_key: None, + redacts: None, + }, + &grapevine_user, + &grapevine_room, + &state_lock, + ) + .await + .unwrap(); } } }