pausable_clock 1.0.2

A source of time information that can be paused and resumed
Documentation
pub(super) const PAUSING_REQUESTED_MASK: u32 = 1 << 31;
const FLAG_MASK: u32 = PAUSING_REQUESTED_MASK;
const UNPAUSABLE_TASK_COUNT_MASK: u32 = !FLAG_MASK;

pub(super) type PausabilityState = u32;

pub(super) trait PausabilityStateTrait {
    fn is_pausing_requested(&self) -> bool;

    fn get_unpausable_task_count(&self) -> u32;
}

impl PausabilityStateTrait for PausabilityState {
    fn is_pausing_requested(&self) -> bool {
        *self & PAUSING_REQUESTED_MASK > 0
    }

    fn get_unpausable_task_count(&self) -> u32 {
        *self & UNPAUSABLE_TASK_COUNT_MASK
    }
}