diff --git a/spring-2025/sen-109/00010/rust-chat-server/server/src/room_manager/room/chat_room.rs b/spring-2025/sen-109/00010/rust-chat-server/server/src/room_manager/room/chat_room.rs index 1921bcf..b6be756 100644 --- a/spring-2025/sen-109/00010/rust-chat-server/server/src/room_manager/room/chat_room.rs +++ b/spring-2025/sen-109/00010/rust-chat-server/server/src/room_manager/room/chat_room.rs @@ -32,13 +32,23 @@ impl ChatRoom { metadata, broadcast_tx, user_registry: UserRegistry::new(), - } + } } pub fn get_unique_user_ids(&self) -> Vec { self.user_registry.get_unique_user_ids() } + pub async fn store_message(&self) { + let broadcast_tx = self.broadcast_tx.clone(); + let mut broadcast_rx = broadcast_tx.subscribe(); + + let message_data = broadcast_rx.recv().await.unwrap(); + + println!("{:?}", message_data); + } + + /// Add a participant to the room and broadcast that they joined /// /// # Returns diff --git a/spring-2025/sen-109/00010/rust-chat-server/server/src/room_manager/room/user_session_handle.rs b/spring-2025/sen-109/00010/rust-chat-server/server/src/room_manager/room/user_session_handle.rs index 4ddb0cb..ffded59 100644 --- a/spring-2025/sen-109/00010/rust-chat-server/server/src/room_manager/room/user_session_handle.rs +++ b/spring-2025/sen-109/00010/rust-chat-server/server/src/room_manager/room/user_session_handle.rs @@ -1,6 +1,7 @@ use anyhow::Context; use comms::event; use tokio::sync::broadcast; +use super::chat_room; #[derive(Debug, Clone)] pub struct SessionAndUserId { @@ -58,6 +59,8 @@ impl UserSessionHandle { }, )) .context("could not write to the broadcast channel")?; + + chat_room::store_message(); Ok(()) }