2 releases
0.1.1 | Jun 29, 2020 |
---|---|
0.1.0 | Jun 22, 2020 |
#20 in #bmp
8KB
77 lines
bmp-client
This is a simple BMP (BGP Monitoring Protocol) client for Rust. The heavy lifting is done within the bmp-protocol crate, this just provides a simple wrapper with some convenience functions.
Usage
# 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);
}
};
}
});
}
}
Contributing
Contributions are welcome, the library is still very barebones.
Dependencies
~6.5MB
~103K SLoC