3个不稳定版本
| 0.2.0 | 2023年2月14日 | 
|---|---|
| 0.1.2 | 2023年2月7日 | 
| 0.1.1 | 2023年1月9日 | 
| 0.1.0 |  | 
#1127 在 编码
每月113次下载
33KB
588 行
WinRoute
这个crate是一个用于操作和观察Windows路由表的界面级工具
示例
管理路由表
let manager = RouteManager::new()?;
let new_route = Route::new("223.6.6.6".parse().unwrap(), 32).metric(1);
// add route
if let Err(e) = manager.add_route(&new_route) {
    eprintln!("{e}");
}
// delete route
if let Err(e) = manager.delete_route(&new_route) {
    eprintln!("{e}");
}
监听表更改事件
let manager = RouteManager::new()?;
let recvier = manager.subscribe_route_change();
let ma = Arc::new(manager);
let mb = ma.clone();
// start a thread to driven event loop, also can use async task to run this
std::thread::spawn(move || loop {
    ma.poll().unwrap();
});
// create a new route
let new_route = Route::new("223.6.6.6".parse().unwrap(), 32);
// add route to system
mb.add_route(&new_route)?;
loop {
    // listeing on route change event
    let event = recvier.recv().unwrap();
    println!("{:?}", event);
}
功能
- serializable: 默认启用此功能,实现了- serde的- Serialize和- Deserialize,此功能需要添加对- serde的额外依赖
依赖
~310–690KB