Real user disconnection management

This commit is contained in:
Artlef 2020-03-01 19:30:26 +01:00
parent 0a2aba9619
commit bf32298884

View File

@ -54,7 +54,7 @@ fn handle_player(mut stream: UnixStream, server: Server) {
Ok((player, player_turn)) => main_loop(&mut stream, &server, player, player_turn),
Err(e) => println!("User id {} could not be initialized: {}", server.id, e),
};
player_disconnected();
player_disconnected(&server);
}
fn initialize_client(
@ -197,8 +197,6 @@ fn receive_user_role(
if available_roles_after_choice.contains(&chosen_role) {
println!("OK");
clichess::write_to_stream(stream, String::from("OK")).unwrap();
let get_confirmation =
clichess::read_line_from_stream(stream).expect("Player closed connection.");
break;
} else {
@ -227,6 +225,8 @@ fn compute_available_roles_to_str(server: &Server) -> String {
available_roles_str.join(",")
}
fn player_disconnected() {
fn player_disconnected(server: &Server) {
let mut players = server.players.lock().unwrap();
players.remove(&server.id);
println!("Player disconnected.");
}