2个版本
0.1.3 | 2020年6月29日 |
---|---|
0.1.0 | 2020年6月22日 |
#61 在 #packets
每月32次下载
用于 bmp-client
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