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