2个版本

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

#61#packets

每月32次下载
用于 bmp-client

MITGPL-3.0 许可证

30KB
554

bmp-protocol

此crate实现了一个简单的BMP数据包解码器。它可以解码BMP v3数据包,并使用bgp-rs解码BMP数据中包含的任何BGP消息。

我们提供了一个Decoder,它可以与tokio_util::codec::FramedRead实例一起使用,向消费者提供解码后的BMP消息。有关使用示例,请参阅bmp-client

用法

# Cargo.toml
bmp-protocol = { git = "https://github.com/ccakes/bmp-protocol-rs" }
use bmp_protocol::BmpDecoder;
use tokio::fs::File;
use tokio_util::codec::FramedRead;

// Read a file created using bmp_play (https://github.com/paololucente/bmp_play)
// A more likely real-world use case would be reading from a TcpStream
#[tokio::main]
async fn main() -> std::io::Result<()> {
    let fh = File::open(&entry.path()).await?;
    let mut reader = FramedRead::new(fh, BmpDecoder::new());

    while let Some(message) = reader.next().await {
        assert!(message.is_ok());
    }
}

贡献

欢迎贡献,该库目前尚未完成,还有BMP消息类型要实现。

依赖

~6.5MB
~105K SLoC