use std::sync::atomic::{AtomicBool, Ordering}; #[derive(Default)] pub struct LiveKeyState { fill: AtomicBool, } impl LiveKeyState { pub fn new() -> Self { Self::default() } pub fn fill(&self) -> bool { self.fill.load(Ordering::Relaxed) } pub fn flip_fill(&self) { let current = self.fill.load(Ordering::Relaxed); self.fill.store(!current, Ordering::Relaxed); } }