summaryrefslogtreecommitdiff
path: root/src/connection.rs
diff options
context:
space:
mode:
authortom barrett <spalf0@gmail.com>2018-04-16 02:28:33 -0500
committertom barrett <spalf0@gmail.com>2018-04-16 02:28:33 -0500
commit2940809bf50c2874487ba55efb17ba03c52dd9c2 (patch)
tree2a69facf7922c38256e5886484ad45a566cda970 /src/connection.rs
parent4d7a7e368a3f0a6b1261e1b9180a2647eb158047 (diff)
-removed trait objects and went to structs with enumerations completely
Diffstat (limited to 'src/connection.rs')
-rw-r--r--src/connection.rs16
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),
};
}
}