change struct

This commit is contained in:
David Westgate 2023-11-26 18:19:57 -08:00
parent 0904161a1f
commit 3a93ac2dd5

View File

@ -13,12 +13,12 @@ const SERVER_ADDRESS: &str = "0.0.0.0:6667";
const MAX_USERS: usize = 20; const MAX_USERS: usize = 20;
#[derive(Debug)] #[derive(Debug)]
struct Server<'a> { struct Server {
users: HashMap<String, &'a mut TcpStream>, users: HashMap<String, TcpStream>,
rooms: HashMap<String, Vec<String>>, rooms: HashMap<String, Vec<String>>,
} }
impl<'a> Server<'a> { impl Server {
fn new() -> Self { fn new() -> Self {
Server { Server {
users: HashMap::new(), users: HashMap::new(),
@ -41,14 +41,12 @@ fn broadcast(op: u8, server: &Arc<Mutex<Server>>, message: &str) {
} }
let mut unlocked_server: std::sync::MutexGuard<'_, Server> = server.lock().unwrap(); let mut unlocked_server: std::sync::MutexGuard<'_, Server> = server.lock().unwrap();
let streams: std::collections::hash_map::ValuesMut<'_, String, &mut TcpStream> = let streams = unlocked_server.users.values_mut();
unlocked_server.users.values_mut();
for stream in streams { for stream in streams {
stream.write_all(&out_buf); stream.write_all(&out_buf);
} }
} }
fn handle_client( fn handle_client(
server: &Arc<Mutex<Server>>, server: &Arc<Mutex<Server>>,
stream: &mut TcpStream, stream: &mut TcpStream,
@ -161,8 +159,8 @@ fn register_nick(server: &Arc<Mutex<Server>>, nickname: &str, stream: &mut TcpSt
.unwrap(); .unwrap();
} else { } else {
// Add the user to the user list // 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 // Send response ok
stream.write_all(&[codes::RESPONSE_OK]).unwrap(); stream.write_all(&[codes::RESPONSE_OK]).unwrap();