pub struct MkFence {
signaled: bool,
}
impl MkFence {
pub fn new() -> Self {
Self { signaled: false }
}
pub fn signaled() -> Self {
Self { signaled: true }
}
pub fn is_signaled(&self) -> bool {
self.signaled
}
pub fn signal(&mut self) {
self.signaled = true;
}
pub fn reset(&mut self) {
self.signaled = false;
}
pub fn wait(&self) {
while !self.signaled {
std::hint::spin_loop();
}
}
}
impl Default for MkFence {
fn default() -> Self {
Self::new()
}
}