7个版本
0.1.0 | 2024年2月18日 |
---|---|
0.1.0-rc.7 | 2024年2月15日 |
0.1.0-rc.6 | 2023年8月29日 |
0.1.0-rc.5 | 2023年5月14日 |
0.1.0-rc.2 | 2021年8月28日 |
1249 in 网络编程
在2个Crates中使用(通过bgpfu-lib)
62KB
1.5K SLoC
irrc-rs
关于
一个Rust库crate irrc
,提供IRRd查询协议的客户端实现。
lib.rs
:
本crate提供IRRd查询协议的客户端实现。
实现提供了通过单个TCP连接的最大性能的管道化查询执行。
快速入门
use irrc::{IrrClient, Query, Error};
use rpsl::names::AutNum;
fn main() -> Result<(), Error> {
let mut irr = IrrClient::new("whois.radb.net:43")
.connect()?;
println!("connected to {}", irr.version()?);
let as_set = "AS-FOO".parse().unwrap();
println!("getting members of {}", as_set);
irr.pipeline()
.push(Query::AsSetMembersRecursive(as_set))?
.responses::<AutNum>()
.filter_map(|result| {
result.map_err(|err| {
println!("error parsing member: {}", err);
err
})
.ok()
})
.for_each(|autnum| println!("{}", autnum.content()));
Ok(())
}
依赖项
~16MB
~139K SLoC