4 个版本
使用旧 Rust 2015
0.2.3 | 2017年1月15日 |
---|---|
0.2.2 | 2017年1月15日 |
0.2.1 | 2017年1月15日 |
0.2.0 | 2017年1月15日 |
#5 在 #forwarder
27KB
504 行
rust-proxy
这是一个用 Rust 实现的仪表代理,它位于客户端和服务器之间,并测量延迟和吞吐量。异步版本即将推出。
需求
当然,你需要安装 Rust。如果你还没有安装,请从这里获取: rust-lang.org。你还需要 Cargo 以轻松编译。所需的 rustc 编译器版本是 1.15.0-nightly。
用法
要使用代理,请将以下内容添加到您的 Cargo.toml
[dependencies]
meterproxy = "0.1.1"
仪表代理使用示例
extern crate meterproxy;
use meterproxy::MeterProxy;
use std::thread;
use std::time::Duration;
fn main() {
println!("Starting Proxy");
let meter_proxy=MeterProxy::MeterProxy::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;
//Do something
thread::sleep(Duration::from_millis(sleep_time));
println!("The measured latency 'till now: {:.3} ms",meter_proxy.get_latency_ms());
println!("The measured throughput 'till now: {:.3}",meter_proxy.get_num_bytes_rcvd() as f64/(n*sleep_time) as f64);
}
meter_proxy.stop_and_reset();
let _ = child_proxy.join();
}
许可证
MIT © Giovanni Mazzeo
依赖项
~11MB
~190K SLoC