pub enum WaitTimeoutResult<R> {
Ready(R),
TimedOut,
}Expand description
Result of waiting for a predicate with an overall timeout.
This type is returned by
Monitor::wait_timeout_while and
Monitor::wait_timeout_until. It is
more explicit than Option<R>: a ready predicate produces Self::Ready,
while an expired timeout produces Self::TimedOut.
§Type Parameters
R- The value produced after the protected state satisfies the predicate.
§Example
use std::time::Duration;
use qubit_lock::lock::{Monitor, WaitTimeoutResult};
let monitor = Monitor::new(true);
let result = monitor.wait_timeout_until(
Duration::from_secs(1),
|ready| *ready,
|ready| {
*ready = false;
"ready"
},
);
assert_eq!(result, WaitTimeoutResult::Ready("ready"));Variants§
Ready(R)
The predicate became ready before the timeout and produced this value.
TimedOut
The timeout elapsed before the predicate became ready.
Trait Implementations§
Source§impl<R: Clone> Clone for WaitTimeoutResult<R>
impl<R: Clone> Clone for WaitTimeoutResult<R>
Source§fn clone(&self) -> WaitTimeoutResult<R>
fn clone(&self) -> WaitTimeoutResult<R>
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<R: Debug> Debug for WaitTimeoutResult<R>
impl<R: Debug> Debug for WaitTimeoutResult<R>
Source§impl<R: PartialEq> PartialEq for WaitTimeoutResult<R>
impl<R: PartialEq> PartialEq for WaitTimeoutResult<R>
impl<R: Copy> Copy for WaitTimeoutResult<R>
impl<R: Eq> Eq for WaitTimeoutResult<R>
impl<R> StructuralPartialEq for WaitTimeoutResult<R>
Auto Trait Implementations§
impl<R> Freeze for WaitTimeoutResult<R>where
R: Freeze,
impl<R> RefUnwindSafe for WaitTimeoutResult<R>where
R: RefUnwindSafe,
impl<R> Send for WaitTimeoutResult<R>where
R: Send,
impl<R> Sync for WaitTimeoutResult<R>where
R: Sync,
impl<R> Unpin for WaitTimeoutResult<R>where
R: Unpin,
impl<R> UnsafeUnpin for WaitTimeoutResult<R>where
R: UnsafeUnpin,
impl<R> UnwindSafe for WaitTimeoutResult<R>where
R: UnwindSafe,
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