use event_sync::{EventSync, Immutable};
struct MyTimeKeeper {
mutable: EventSync,
immutable: EventSync<Immutable>,
}
fn main() {
let event_sync = EventSync::new(10);
let mut time_keeper = MyTimeKeeper {
immutable: event_sync.clone_immutable(),
mutable: event_sync,
};
time_keeper.mutable.pause();
assert!(time_keeper.immutable.is_paused());
assert!(time_keeper.immutable.wait_for_tick().is_err());
time_keeper.mutable.unpause().unwrap();
println!("Now waiting.");
time_keeper.immutable.wait_for_x_ticks(100).unwrap();
println!("Finished_waiting.");
}