pub(crate) trait Semaphore {
// Required methods
fn is_idle(&self) -> bool;
fn add_permit(&self);
fn add_permits(&self, n: usize);
fn close(&self);
fn is_closed(&self) -> bool;
}
pub(crate) trait Semaphore {
// Required methods
fn is_idle(&self) -> bool;
fn add_permit(&self);
fn add_permits(&self, n: usize);
fn close(&self);
fn is_closed(&self) -> bool;
}