3个版本 (重大更新)
0.3.0 | 2023年6月12日 |
---|---|
0.2.0 | 2022年5月2日 |
0.1.0 | 2022年4月30日 |
#979 in 网络编程
105KB
2K SLoC
birdc
Rust库,用于与Bird BGP服务器进行管理和监控。
文档
示例
use birdc::*;
// create the client
let client = Client::for_unix_socket("/run/bird/bird.ctl");
// we can either use raw protocol
async fn show_interfaces_raw(client: &Client) -> Result<()> {
let mut connection = client.connect().await?;
// we can either use raw protocol
let messages = connection.send_request("show interfaces").await?;
for message in &messages {
println!("received message: {:?}", message);
}
Ok(())
}
// or we can use structured exchange
async fn show_interfaces(client: &Client) -> Result<()> {
let mut connection = client.connect().await?;
// let's make a semantic call now
match connection.show_interfaces().await {
Ok(entries) => {
for e in &entries {
println!("received entry: {:?}", e);
}
}
Err(Error::ParseError(messages)) => {
// we can still go through the raw response
// even though semantic parsing failed
for msg in &messages {
println!("raw message: {:?}", msg);
}
}
Err(e) => {
return Err(e);
}
}
Ok(())
}
许可协议
根据您选择的许可协议使用
- Apache License,版本2.0,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则根据Apache-2.0许可协议定义的,您有意提交以包含在作品中的任何贡献,都将按照上述方式双许可,没有任何额外的条款或条件。
依赖项
~3–15MB
~129K SLoC