use async_snmp::{Auth, Client, Retry, oid};
use std::time::Duration;
#[tokio::main(flavor = "current_thread")]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let target = ("127.0.0.1", 11161);
let client = Client::builder(target, Auth::v2c("public"))
.timeout(Duration::from_secs(5))
.retry(Retry::fixed(2, Duration::ZERO))
.connect()
.await?;
let vb = client.get(&oid!(1, 3, 6, 1, 2, 1, 1, 1, 0)).await?;
println!("sysDescr: {:?}", vb.value);
let mut walk = client.walk(oid!(1, 3, 6, 1, 2, 1, 1))?;
while let Some(result) = walk.next().await {
let vb = result?;
println!(" {}: {:?}", vb.oid, vb.value);
}
Ok(())
}