X-Git-Url: http://git.euphorik.ch/?p=crypto_lab1.git;a=blobdiff_plain;f=src%2Fclient.rs;h=14df2d4637b090cb805fba33128b523aae6b9a03;hp=575df0509538729a748c50c4c3165b30046c877d;hb=c52e8d69e983c2ae02554841e35670078569b66d;hpb=3a33f82b92400ffabdc5fd7bdcbdc9f888277418 diff --git a/src/client.rs b/src/client.rs index 575df05..14df2d4 100644 --- a/src/client.rs +++ b/src/client.rs @@ -1,5 +1,5 @@ use std::io::{ TcpStream, IoResult }; -use command::{ Command, Packet, Error }; +use packet::{ Command, Packet }; pub struct Client { socket: TcpStream, @@ -14,19 +14,23 @@ impl Client { }) } - pub fn close(&mut self) { - self.socket.close_read(); - self.socket.close_write(); + pub fn close(&mut self) -> IoResult<()> { + try!(self.socket.close_read()); + try!(self.socket.close_write()); + Ok(()) } pub fn start_tests(&mut self) { - - let command = Packet::new_random_command(self.current_timestamp); - self.send(command); - + self.current_timestamp += 1; + let timestamp = self.current_timestamp; + self.send(Packet { timestamp: timestamp, t: Command(Packet::random_packet_data()) }); } - fn send(&mut self, p: Packet) { - p.write(&mut self.socket); + fn send(&mut self, p: Packet) { + println!("Client sends packet: {}", p); + match p.write(&mut self.socket) { + Err(e) => println!("Error on sending: {}", e), + _ => () + } } } \ No newline at end of file