From 46fa862e04bc43311ba79ef3db70abf9014b9104 Mon Sep 17 00:00:00 2001 From: tom barrett Date: Sun, 3 Feb 2019 05:45:35 -0600 Subject: bringing to 2018 --- src/server/connection.rs | 44 +++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 21 deletions(-) (limited to 'src/server/connection.rs') diff --git a/src/server/connection.rs b/src/server/connection.rs index 973c5d1..4fed2b6 100644 --- a/src/server/connection.rs +++ b/src/server/connection.rs @@ -1,49 +1,51 @@ extern crate serde_json; -use std::io::BufReader; +use std::collections::HashMap; use std::io::prelude::*; +use std::io::BufReader; use std::net::TcpStream; -use std::collections::HashMap; -use mass::Mass; -use modules::types::ModuleType; +use crate::mass::Mass; +use crate::modules::types::ModuleType; pub struct ServerConnection { - pub name : String, - pub module_type : ModuleType, - pub stream : TcpStream, - pub buff_r : BufReader, - pub open : bool, + pub name: String, + pub module_type: ModuleType, + pub stream: TcpStream, + pub buff_r: BufReader, + pub open: bool, } impl ServerConnection { - pub fn new(mut stream : TcpStream, masses : &mut HashMap) -> ServerConnection { + pub fn new(mut stream: TcpStream, masses: &mut HashMap) -> ServerConnection { let mut buff_r = BufReader::new(stream.try_clone().unwrap()); let mut recv = String::new(); buff_r.read_line(&mut recv).unwrap(); - let name = &recv[..recv.find(":").unwrap()]; + let name = &recv[..recv.find(':').unwrap()]; - let ship = masses.entry(name.to_string()).or_insert(Mass::new_ship()); + let ship = masses + .entry(name.to_string()) + .or_insert_with(Mass::new_ship); let send = serde_json::to_string(&ship.get_modules()).unwrap() + "\n"; - stream.write(send.as_bytes()).unwrap(); + stream.write_all(send.as_bytes()).unwrap(); let mut recv = String::new(); buff_r.read_line(&mut recv).unwrap(); - let module_type : ModuleType = serde_json::from_str(&recv.replace("\n","")).unwrap(); + let module_type: ModuleType = serde_json::from_str(&recv.replace("\n", "")).unwrap(); stream.set_nonblocking(true).unwrap(); - ServerConnection { - name : String::from(name), - module_type : module_type, - stream : stream, - buff_r : buff_r, - open : true, + ServerConnection { + name: String::from(name), + module_type, + stream, + buff_r, + open: true, } } - pub fn process(&mut self, mut masses : &mut HashMap) { + pub fn process(&mut self, mut masses: &mut HashMap) { match self.module_type { ModuleType::Mining => self.server_mining(&mut masses), ModuleType::Engines => self.server_engines(&mut masses), -- cgit v1.2.3