use crate::engine::time::Instant;
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub enum Schedule {
Idle,
WakeAt(Instant),
}
impl Schedule {
#[must_use]
pub const fn is_idle(self) -> bool {
matches!(self, Self::Idle)
}
}
pub trait Scheduler {
fn schedule(&mut self, schedule: Schedule);
fn next_wake(&self) -> Schedule;
}