Begining of some test cases.
[crypto_lab1.git] / src / server.rs
diff --git a/src/server.rs b/src/server.rs
deleted file mode 100644 (file)
index b655ae7..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-use std::io::{ TcpListener, TcpStream, Acceptor, Listener, IoError, IoResult, EndOfFile };
-use std::io::net::tcp::{ TcpAcceptor };
-use packet::{ Packet, IOReadError };
-
-pub struct Server {
-   acceptor: TcpAcceptor
-}
-
-impl Server {
-   pub fn new(port: u16) -> IoResult<Server> {
-      let mut acceptor = try!(TcpListener::bind("127.0.0.1", port).listen());
-      
-      let server = Server { 
-         acceptor: acceptor.clone()
-      };
-      
-      spawn(proc() {
-         loop {
-            for stream in acceptor.incoming() {
-               match stream {
-                  Err(_) => return,
-                  Ok(stream) => spawn(proc() {
-                     Server::handle_client(stream);
-                  })
-               }
-            }
-         }
-      });
-      
-      Ok(server)
-   }
-   
-   pub fn close(&mut self) -> IoResult<()> {
-      self.acceptor.close_accept()
-   }
-   
-   fn handle_client(mut stream: TcpStream) { 
-      let mut current_timestamp = 0u64;
-      
-      loop {
-         // stream.set_timeout(Some(1000000000));         
-         match Packet::read(&mut stream) {
-            Ok(packet) => {
-               if packet.timestamp <= current_timestamp {
-                  println!("Error, timestamp mismatch, current timestamp: {}, packet received: {}", current_timestamp, packet);
-               } else {
-                  current_timestamp += 1;
-                  println!("Receive packet: {}", packet);
-               }
-            },
-            // Socket has been closed.
-            Err(IOReadError(IoError { kind: EndOfFile, .. })) => {
-               return;
-            },
-            Err(e) => {
-               println!("Read error: {}", e)
-            }
-         }
-      }
-   }
-}
\ No newline at end of file