Data used for packet error has been modified.
[crypto_lab1.git] / src / main.rs
index e64323f..1fae4c1 100644 (file)
@@ -1,28 +1,26 @@
+#![feature(macro_rules)]
+
 extern crate openssl;
+extern crate serialize;
 
 use std::io;
 use std::os;
 
-mod crypto;
-mod command;
-mod client;
-mod server;
+use end_point::{ Client, Server };
 
-/*
-TODO
-   * Comment stocker les clefs? à quels critères doivent elle répondre?
-   * 
-*/
+mod crypto;
+mod packet;
+mod end_point;
 
 const PORT: u16 = 4221;
 
 fn print_usage() {
-   println!("{} <genkey> | ...", os::args()[0]);
+   println!("{} <genkey> | <tests> | ...", os::args()[0]);
 }
 
-fn main() {   
+fn main() {
    let args = os::args();
-   
+
    if args.iter().any(|a| a.as_slice() == "--help" || a.as_slice() == "-h") {
       print_usage();
    } else if args.len() > 1 && args[1].as_slice() == "genkey" {
@@ -31,26 +29,21 @@ fn main() {
          Err(e) => println!("Unable to generate a key. Error: {}", e)
       }
    } else {
-      match server::Server::new(PORT) {
+      println!("Starting server...");
+
+      match Server::new("::1", PORT) {
          Ok(mut server) => {
             println!("Server started");
-            
-            match client::Client::new("127.0.0.1", PORT) {
-               Ok(mut client) => {
-                  client.start_tests();
-                  client.close();
-               },
-               Err(e) => { 
-                  println!("Unable to create a client. Error: {}", e);
-                  return
-               }
-            }         
-            
+
+            Client::start_tests("::1", PORT);
+
             println!("Press any key to quit");
-            io::stdin().read_line().ok().expect("Failed to read line");         
+            io::stdin().read_line().ok().expect("Failed to read line");
+
             server.close().ok().expect("Failed to close the server");
          },
-         Err(e) => println!("Unable to create a new server. Error: {}", e)
+         Err(e) =>
+            println!("Unable to create a new server. Error: {}", e)
       }
    }
 }