#![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" {
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)
}
}
}