From 430b4ee12c72364e6901436951d66e4e6c43990d Mon Sep 17 00:00:00 2001 From: tom barrett Date: Thu, 26 Apr 2018 03:33:49 -0500 Subject: -removed cloning of mass list --- src/server/engines.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/server/engines.rs') diff --git a/src/server/engines.rs b/src/server/engines.rs index 17391e6..710ed3a 100644 --- a/src/server/engines.rs +++ b/src/server/engines.rs @@ -10,10 +10,9 @@ use server::connection::ServerConnection; impl ServerConnection { pub fn server_engines(&mut self, masses : &mut HashMap) -> bool { - let masses_clone = masses.clone(); - - let ship = masses.get_mut(&self.name).unwrap(); + let mut ship = masses.remove(&self.name).unwrap(); let ship_clone = ship.clone(); + let mut connection_good = true; if let MassType::Ship{ref mut engines, ref navigation, ..} = ship.mass_type { let navigation = navigation.clone().unwrap(); @@ -23,11 +22,11 @@ impl ServerConnection { let send = serde_json::to_string(&targeted).unwrap() + "\n"; match self.stream.write(send.as_bytes()) { Ok(_result) => (), - Err(_error) => return false, + Err(_error) => connection_good = false, } let target = match navigation.target_name { - Some(name) => masses_clone.get(&name), + Some(name) => masses.get(&name), None => None, }; let mut recv = String::new(); @@ -35,13 +34,14 @@ impl ServerConnection { Ok(result) => { engines.give_client_data(&ship_clone, target, recv); if result == 0 { - return false; + connection_good = false; } }, Err(_error) => (), } } - true + masses.insert(self.name.clone(), ship); + connection_good } } -- cgit v1.2.3