code cleanup

This commit is contained in:
Martin Brodbeck 2023-10-04 11:23:14 +02:00
parent 7d60561f63
commit 6fa55cdc61

View file

@ -95,6 +95,7 @@ fn mopp(speed: u8, data: &[u8]) -> Vec<u8> {
);
let mut res = Vec::<u8>::new();
for i in (0..m.len()).step_by(8) {
let value = u8::from_str_radix(&m[i..i + 8], 2).unwrap();
res.push(value);
@ -118,24 +119,23 @@ fn broadcast(
}
}
fn remove_old_clients(socket: &UdpSocket,
subscribers: &mut HashMap<String, DateTime<Local>>,) {
let timestamp = Local::now();
fn remove_old_clients(socket: &UdpSocket, subscribers: &mut HashMap<String, DateTime<Local>>) {
let timestamp = Local::now();
debug!("Number of clients: {}", subscribers.len());
debug!("Number of clients: {}", subscribers.len());
for cl in &*subscribers {
if *cl.1 + Duration::seconds(CLIENT_TIMEOUT as i64) < timestamp {
debug!("Removing old client {}", cl.0);
socket
.send_to(mopp(MY_SPEED, b":bye").as_slice(), &cl.0)
.unwrap();
}
for cl in &*subscribers {
if *cl.1 + Duration::seconds(CLIENT_TIMEOUT as i64) < timestamp {
debug!("Removing old client {}", cl.0);
socket
.send_to(mopp(MY_SPEED, b":bye").as_slice(), &cl.0)
.unwrap();
}
subscribers.retain(|_, val| *val + Duration::seconds(CLIENT_TIMEOUT as i64) >= timestamp);
}
subscribers.retain(|_, val| *val + Duration::seconds(CLIENT_TIMEOUT as i64) >= timestamp);
}
fn main() -> std::io::Result<()> {
env_logger::init();
@ -204,6 +204,6 @@ fn main() -> std::io::Result<()> {
debug!("Ignoring unknown client {client_addr}");
}
remove_old_clients(&socket, &mut subscribers);
remove_old_clients(&socket, &mut subscribers);
}
}