#bgp #parser #bmp

bmp-client

基于 Tokio 的 BMP 客户端

2 个版本

0.1.1 2020年6月29日
0.1.0 2020年6月22日

17 in #bmp

MITGPL-3.0 许可证

8KB
77 代码行

bmp-client

这是一个简单的 BMP (BGP 监控协议) 客户端,用于 Rust。主要的处理工作由 bmp-protocol crate 完成,这里只是一个简单的包装,提供了一些便利函数。

使用方法

# Cargo.toml

[dependencies]
bmp-client = "^0.1"
#[tokio::main]
async fn main() {
    let mut tcp = TcpListener::bind("0.0.0.0:1790").await.unwrap();

    loop {
        let (stream, peer) = tcp.accept().await.unwrap();
        println!("Client {} connected", peer);

        tokio::spawn(async move {
            let mut client = BmpClient::new(stream);

            while let Some(message) = client.recv().await {
                match message {
                    Ok(message) => println!("Received a {} message", message.kind),
                    Err(error) => {
                        eprintln!("{}", error);
                        std::process::exit(1);
                    }
                };
            }
        });
    }
}

贡献

欢迎贡献,这个库还非常基础。

依赖项

~6.5MB
~102K SLoC