extern crate meter_proxy;
use meter_proxy::proxy::async::AsyncMeterProxy;
use std::thread;
use std::time::Duration;
fn main() {
println!("Starting Proxy");
let meter_proxy = AsyncMeterProxy::new("127.0.0.1".to_string(),
12347,
"127.0.0.1".to_string(),
12349);
let meter_proxy_c = meter_proxy.clone();
let child_proxy = thread::spawn(move || {
meter_proxy_c.start();
});
let mut n = 0;
let sleep_time = 2000;
while n < 100 {
n += 1;
thread::sleep(Duration::from_millis(sleep_time));
println!("The measured latency 'till now: {:.3} ms",
meter_proxy.get_latency());
println!("The measured throughput 'till now: {:.3}",
meter_proxy.get_num_kbytes_rcvd() as f64 / (n * sleep_time) as f64);
}
meter_proxy.reset();
let _ = child_proxy.join();
}