From 3a93ac2dd53324b05608776ae141e31b132bb487 Mon Sep 17 00:00:00 2001 From: David Westgate Date: Sun, 26 Nov 2023 18:19:57 -0800 Subject: [PATCH] change struct --- src/server.rs | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/server.rs b/src/server.rs index 4d22b90..74477f3 100644 --- a/src/server.rs +++ b/src/server.rs @@ -13,12 +13,12 @@ const SERVER_ADDRESS: &str = "0.0.0.0:6667"; const MAX_USERS: usize = 20; #[derive(Debug)] -struct Server<'a> { - users: HashMap, +struct Server { + users: HashMap, rooms: HashMap>, } -impl<'a> Server<'a> { +impl Server { fn new() -> Self { Server { users: HashMap::new(), @@ -41,14 +41,12 @@ fn broadcast(op: u8, server: &Arc>, message: &str) { } let mut unlocked_server: std::sync::MutexGuard<'_, Server> = server.lock().unwrap(); - let streams: std::collections::hash_map::ValuesMut<'_, String, &mut TcpStream> = - unlocked_server.users.values_mut(); + let streams = unlocked_server.users.values_mut(); for stream in streams { stream.write_all(&out_buf); } } - fn handle_client( server: &Arc>, stream: &mut TcpStream, @@ -161,8 +159,8 @@ fn register_nick(server: &Arc>, nickname: &str, stream: &mut TcpSt .unwrap(); } else { // Add the user to the user list - let cl: TcpStream = stream.try_clone().expect("fail to clone"); - // unlocked_server.users.insert(nickname.to_string(), cloned_stream); + + unlocked_server.users.insert(nickname.to_string(), stream); // Send response ok stream.write_all(&[codes::RESPONSE_OK]).unwrap();