diff options
author | tom barrett <spalf0@gmail.com> | 2018-03-05 08:14:14 -0600 |
---|---|---|
committer | tom barrett <spalf0@gmail.com> | 2018-03-05 08:14:14 -0600 |
commit | 160d7b6e50df6d818f6882c033398d49193bd804 (patch) | |
tree | b211d052dce89c9c69012c8e6c7f9de648322086 /src/connection.rs | |
parent | 233aa5d803e8015f78f663bc9af6bb33e56eb96e (diff) |
-brought back downcasting, moved connection functions inside the structure
Diffstat (limited to 'src/connection.rs')
-rw-r--r-- | src/connection.rs | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/src/connection.rs b/src/connection.rs index 0bae3b2..2698be3 100644 --- a/src/connection.rs +++ b/src/connection.rs @@ -6,16 +6,13 @@ extern crate serde_json; use ship::Ship; use mass::Mass; -use engines::server_engines; -use dashboard::server_dashboard; -use navigation::server_navigation; use module::{Module, from_primitive}; pub struct Connection { - index : usize, - module : Module, - stream : TcpStream, - buff_r : BufReader<TcpStream>, + pub index : usize, + pub module : Module, + pub stream : TcpStream, + pub buff_r : BufReader<TcpStream>, pub open : bool, } @@ -57,9 +54,9 @@ impl Connection { pub fn process(&mut self, mut masses : &mut Vec<Box<Mass>>) { self.open = match self.module { - Module::Dashboard => server_dashboard(masses[self.index].serialize(), &self.stream), - Module::Engines => server_engines(&mut masses[self.index], &mut self.buff_r), - Module::Navigation => server_navigation(&mut masses.to_vec(), &mut masses[self.index], &self.stream, &mut self.buff_r), + Module::Engines => self.server_engines(&mut masses), + Module::Dashboard => self.server_dashboard(&mut masses), + Module::Navigation => self.server_navigation(&mut masses), }; } } |