39 lines
685 B
Rust
39 lines
685 B
Rust
mod tcp_client;
|
|
mod tcp_server;
|
|
|
|
use std::{env, process};
|
|
|
|
fn usage() -> ! {
|
|
eprintln!(
|
|
"usage: torbutt MODE PORT
|
|
|
|
MODE The mode in which to run torbutt (server or client)
|
|
PORT The port on which to bind a TCP stream
|
|
|
|
EXAMPLE:
|
|
|
|
torbutt server 8022"
|
|
);
|
|
|
|
process::exit(1)
|
|
}
|
|
|
|
fn main() {
|
|
let args: Vec<String> = env::args().collect();
|
|
|
|
if args.len() != 3 {
|
|
usage()
|
|
};
|
|
|
|
let mode = &args[1];
|
|
let port = &args[2];
|
|
|
|
println!("Running in {} mode on port {}", mode, port);
|
|
|
|
match mode.as_str() {
|
|
"client" => tcp_client::connect(port).unwrap(),
|
|
"server" => tcp_server::listen(port).unwrap(),
|
|
&_ => usage(),
|
|
};
|
|
}
|