use rand::RngExt;
use std::time::Duration;
use rustzmq2::prelude::*;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut rng = rand::rng();
println!("Start server");
let mut socket = rustzmq2::PubSocket::new();
socket.bind("tcp://127.0.0.1:5556").await?;
println!("Start sending loop");
loop {
let zipcode = rng.random_range(10000..10010);
let temperature = rng.random_range(-80..135);
let relhumidity = rng.random_range(10..60);
socket
.send(format!("{} {} {}", zipcode, temperature, relhumidity))
.await?;
tokio::time::sleep(Duration::from_millis(100)).await;
}
}