pub enum WaitTimeoutStatus {
Woken,
TimedOut,
}Expand description
Result of a timed wait operation.
This status is returned by MonitorGuard::wait_timeout and
Monitor::wait_notify. It describes why a timed wait
returned, but callers must still re-check the protected state because
condition variables may wake spuriously.
§Example
use std::time::Duration;
use qubit_lock::lock::{Monitor, WaitTimeoutStatus};
let monitor = Monitor::new(false);
let guard = monitor.lock();
let (_guard, status) = guard.wait_timeout(Duration::from_millis(1));
assert_eq!(status, WaitTimeoutStatus::TimedOut);Variants§
Woken
The wait returned before the timeout elapsed.
This usually means another thread called Monitor::notify_one or
Monitor::notify_all, but it may also be a spurious wakeup. Always
re-check the guarded state before acting on this status.
TimedOut
The wait reached the timeout boundary.
Even after this status, callers should inspect the protected state because another thread may have changed it while the waiting thread was reacquiring the mutex.
Trait Implementations§
Source§impl Clone for WaitTimeoutStatus
impl Clone for WaitTimeoutStatus
Source§fn clone(&self) -> WaitTimeoutStatus
fn clone(&self) -> WaitTimeoutStatus
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for WaitTimeoutStatus
impl Debug for WaitTimeoutStatus
Source§impl PartialEq for WaitTimeoutStatus
impl PartialEq for WaitTimeoutStatus
impl Copy for WaitTimeoutStatus
impl Eq for WaitTimeoutStatus
impl StructuralPartialEq for WaitTimeoutStatus
Auto Trait Implementations§
impl Freeze for WaitTimeoutStatus
impl RefUnwindSafe for WaitTimeoutStatus
impl Send for WaitTimeoutStatus
impl Sync for WaitTimeoutStatus
impl Unpin for WaitTimeoutStatus
impl UnsafeUnpin for WaitTimeoutStatus
impl UnwindSafe for WaitTimeoutStatus
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more