From d42a28c46057c386d161bfe438302e2314f0a6f6 Mon Sep 17 00:00:00 2001 From: tom barrett Date: Wed, 21 Feb 2018 06:27:02 -0600 Subject: -got engine and dashboard data sending --- src/connection.rs | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) (limited to 'src/connection.rs') diff --git a/src/connection.rs b/src/connection.rs index 0276558..26993fd 100644 --- a/src/connection.rs +++ b/src/connection.rs @@ -1,6 +1,6 @@ use std::io::prelude::*; use std::io::BufReader; -use std::net::{TcpListener, TcpStream}; +use std::net::TcpStream; extern crate serde_json; @@ -8,7 +8,7 @@ use ship::Ship; use module::{Module, from_primitive}; pub struct Connection { - name : String, +// name : String, ship : Ship, module : Module, stream : TcpStream, @@ -21,19 +21,20 @@ impl Connection { let mut buff_r = BufReader::new(stream.try_clone().unwrap()); let mut data = String::new(); - buff_r.read_line(&mut data); - let name = &data[..data.find(":").unwrap()]; + buff_r.read_line(&mut data).unwrap(); + //let name = &data[..data.find(":").unwrap()]; let modules = b"dashboard,navigation,engine\n"; - stream.write(modules); + stream.write(modules).unwrap(); let mut data = String::new(); - buff_r.read_line(&mut data); - let num = data.replace("\n", ""); - let module = from_primitive(num.parse::().unwrap()); + buff_r.read_line(&mut data).unwrap(); + let module = from_primitive(data); + + stream.set_nonblocking(true).unwrap(); Connection { - name : String::from(name), +// name : String::from(name), ship : Ship::new(), module : module, stream : stream, @@ -47,7 +48,17 @@ impl Connection { Module::Dashboard => { let mut send = serde_json::to_string(&self.ship).unwrap(); send.push_str("\n"); - self.stream.write(send.as_bytes()); + match self.stream.write(send.as_bytes()) { + Ok(_result) => (), + Err(_error) => self.open = false, + } + } + Module::Engines => { + let mut data = String::new(); + match self.buff_r.read_line(&mut data) { + Ok(_result) => println!("{}", data), + Err(_error) => println!("{}", _error) + } } _ => () } -- cgit v1.2.3