mirror of
https://gitlab.computer.surgery/matrix/grapevine.git
synced 2025-12-17 15:51:23 +01:00
remove unnecessary async and select!{}
This commit is contained in:
parent
a60501189d
commit
092315e2cd
2 changed files with 42 additions and 39 deletions
|
|
@ -1165,7 +1165,7 @@ impl KeyValueDatabase {
|
||||||
|
|
||||||
services().sending.start_handler();
|
services().sending.start_handler();
|
||||||
|
|
||||||
Self::start_cleanup_task().await;
|
Self::start_cleanup_task();
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
@ -1182,7 +1182,7 @@ impl KeyValueDatabase {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tracing::instrument]
|
#[tracing::instrument]
|
||||||
pub(crate) async fn start_cleanup_task() {
|
pub(crate) fn start_cleanup_task() {
|
||||||
use std::time::{Duration, Instant};
|
use std::time::{Duration, Instant};
|
||||||
|
|
||||||
#[cfg(unix)]
|
#[cfg(unix)]
|
||||||
|
|
|
||||||
|
|
@ -239,45 +239,48 @@ impl Service {
|
||||||
|
|
||||||
if let Ok(Some(grapevine_room)) = services().admin.get_admin_room() {
|
if let Ok(Some(grapevine_room)) = services().admin.get_admin_room() {
|
||||||
loop {
|
loop {
|
||||||
tokio::select! {
|
let event = receiver
|
||||||
Some(event) = receiver.recv() => {
|
.recv()
|
||||||
let message_content = match event {
|
.await
|
||||||
AdminRoomEvent::SendMessage(content) => content,
|
.expect("admin command channel has been closed");
|
||||||
AdminRoomEvent::ProcessMessage(room_message) => {
|
|
||||||
self.process_admin_message(room_message).await
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
let mutex_state = Arc::clone(
|
let message_content = match event {
|
||||||
services().globals
|
AdminRoomEvent::SendMessage(content) => content,
|
||||||
.roomid_mutex_state
|
AdminRoomEvent::ProcessMessage(room_message) => {
|
||||||
.write()
|
self.process_admin_message(room_message).await
|
||||||
.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 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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue