use crate::mem::linked_list::LinkedList;
use crate::exec::runnable::Runnable;
#[allow(dead_code)]
#[repr(u8)]
pub enum Error {
TimeOut,
InvalidId,
}
#[allow(dead_code)]
pub enum Wake {
WakeFirst,
WakeAll,
}
#[allow(dead_code)]
pub struct Event {
id: usize,
pub pending: LinkedList<Runnable>,
wake: Wake,
priority_inversion: bool,
}
impl Event {
pub fn new(id: usize) -> Self {
Event {
id,
pending: LinkedList::new(),
wake: Wake::WakeFirst,
priority_inversion: false,
}
}
pub fn id(&self) -> usize {
self.id
}
}