1.5.0[−][src]Struct sp_std::sync::WaitTimeoutResult
A type indicating whether a timed wait on a condition variable returned due to a time out or not.
It is returned by the wait_timeout
method.
Implementations
impl WaitTimeoutResult
[src]
pub fn timed_out(&self) -> bool
[src]
Returns true
if the wait was known to have timed out.
Examples
This example spawns a thread which will update the boolean value and then wait 100 milliseconds before notifying the condvar.
The main thread will wait with a timeout on the condvar and then leave once the boolean has been updated and notified.
use std::sync::{Arc, Condvar, Mutex}; use std::thread; use std::time::Duration; let pair = Arc::new((Mutex::new(false), Condvar::new())); let pair2 = Arc::clone(&pair); thread::spawn(move || { let (lock, cvar) = &*pair2; // Let's wait 20 milliseconds before notifying the condvar. thread::sleep(Duration::from_millis(20)); let mut started = lock.lock().unwrap(); // We update the boolean value. *started = true; cvar.notify_one(); }); // Wait for the thread to start up. let (lock, cvar) = &*pair; let mut started = lock.lock().unwrap(); loop { // Let's put a timeout on the condvar's wait. let result = cvar.wait_timeout(started, Duration::from_millis(10)).unwrap(); // 10 milliseconds have passed, or maybe the value changed! started = result.0; if *started == true { // We received the notification and the value has been updated, we can leave. break } }
Trait Implementations
impl Clone for WaitTimeoutResult
[src]
pub fn clone(&self) -> WaitTimeoutResult
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for WaitTimeoutResult
[src]
impl Debug for WaitTimeoutResult
[src]
impl Eq for WaitTimeoutResult
[src]
impl PartialEq<WaitTimeoutResult> for WaitTimeoutResult
[src]
pub fn eq(&self, other: &WaitTimeoutResult) -> bool
[src]
pub fn ne(&self, other: &WaitTimeoutResult) -> bool
[src]
impl StructuralEq for WaitTimeoutResult
[src]
impl StructuralPartialEq for WaitTimeoutResult
[src]
Auto Trait Implementations
impl RefUnwindSafe for WaitTimeoutResult
[src]
impl Send for WaitTimeoutResult
[src]
impl Sync for WaitTimeoutResult
[src]
impl Unpin for WaitTimeoutResult
[src]
impl UnwindSafe for WaitTimeoutResult
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut Tⓘ
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,