diff options
author | tom barrett <spalf0@gmail.com> | 2018-04-16 02:28:33 -0500 |
---|---|---|
committer | tom barrett <spalf0@gmail.com> | 2018-04-16 02:28:33 -0500 |
commit | 2940809bf50c2874487ba55efb17ba03c52dd9c2 (patch) | |
tree | 2a69facf7922c38256e5886484ad45a566cda970 /src/connection.rs | |
parent | 4d7a7e368a3f0a6b1261e1b9180a2647eb158047 (diff) |
-removed trait objects and went to structs with enumerations completely
Diffstat (limited to 'src/connection.rs')
-rw-r--r-- | src/connection.rs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/connection.rs b/src/connection.rs index 52d3352..f4637e4 100644 --- a/src/connection.rs +++ b/src/connection.rs @@ -5,12 +5,12 @@ use std::io::prelude::*; use std::net::TcpStream; use std::collections::HashMap; -use module::ModuleType; +use module::{Module, ModuleType}; use mass::{Mass, MassType}; pub struct Connection { pub name : String, - pub module_type : ModuleType, + pub module : Module, pub stream : TcpStream, pub buff_r : BufReader<TcpStream>, pub open : bool, @@ -34,12 +34,12 @@ impl Connection { 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 : Module = serde_json::from_str(&recv.replace("\n","")).unwrap(); stream.set_nonblocking(true).unwrap(); Connection { name : String::from(name), - module_type : module_type, + module : module, stream : stream, buff_r : buff_r, open : true, @@ -47,11 +47,11 @@ impl Connection { } pub fn process(&mut self, mut masses : &mut HashMap<String, Mass>) { - self.open = match self.module_type { - ModuleType::Mining => self.server_mining(&mut masses), - ModuleType::Engines => self.server_engines(&mut masses), + self.open = match self.module.module_type { ModuleType::Dashboard => self.server_dashboard(&mut masses), - ModuleType::Navigation => self.server_navigation(&mut masses), + ModuleType::Engines => self.server_engines(&mut masses), + ModuleType::Mining{..} => self.server_mining(&mut masses), + ModuleType::Navigation{..} => self.server_navigation(&mut masses), }; } } |