flatland_play_loop/
movement.rs1use std::time::{Duration, Instant};
4
5pub const MOVEMENT_SEND_INTERVAL_MS: u128 = 50;
6
7pub fn movement_interval_elapsed(sent_at: Instant, now: Instant) -> bool {
8 now.duration_since(sent_at) >= Duration::from_millis(MOVEMENT_SEND_INTERVAL_MS as u64)
9}
10
11#[cfg(test)]
12mod tests {
13 use super::*;
14
15 #[test]
16 fn interval_respects_50ms() {
17 let start = Instant::now();
18 assert!(!movement_interval_elapsed(start, start));
19 let later = start + Duration::from_millis(49);
20 assert!(!movement_interval_elapsed(start, later));
21 let ok = start + Duration::from_millis(50);
22 assert!(movement_interval_elapsed(start, ok));
23 }
24}