pub struct 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.
impl WaitTimeoutResult[src]
pub fn timed_out(&self) -> bool[src]
Returns true if the wait was known to have timed out.
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 = pair.clone();
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
    }
}impl Clone for WaitTimeoutResult[src]
fn clone(&self) -> WaitTimeoutResult[src]
fn clone_from(&mut self, source: &Self)[src]1.0.0
impl Copy for WaitTimeoutResult[src]
impl Debug for WaitTimeoutResult[src]
impl Eq for WaitTimeoutResult[src]
impl PartialEq<WaitTimeoutResult> for WaitTimeoutResult[src]
fn eq(&self, other: &WaitTimeoutResult) -> bool[src]
fn ne(&self, other: &WaitTimeoutResult) -> bool[src]
impl StructuralEq for WaitTimeoutResult[src]
impl StructuralPartialEq for WaitTimeoutResult[src]
impl RefUnwindSafe for WaitTimeoutResultimpl Send for WaitTimeoutResultimpl Sync for WaitTimeoutResultimpl Unpin for WaitTimeoutResultimpl UnwindSafe for WaitTimeoutResultimpl<T> Any for T where
    T: 'static + ?Sized, [src]
impl<T> Borrow<T> for T where
    T: ?Sized, [src]
fn borrow(&self) -> &TⓘNotable traits for &'_ mut F
impl<'_, F> Future for &'_ mut F where
    F: Unpin + Future + ?Sized, 
    type Output = <F as Future>::Output;
impl<'_, I> Iterator for &'_ mut I where
    I: Iterator + ?Sized, 
    type Item = <I as Iterator>::Item;
impl<R: Read + ?Sized, '_> Read for &'_ mut R
impl<W: Write + ?Sized, '_> Write for &'_ mut W
[src]
impl<T> BorrowMut<T> for T where
    T: ?Sized, [src]
fn borrow_mut(&mut self) -> &mut TⓘNotable traits for &'_ mut F
impl<'_, F> Future for &'_ mut F where
    F: Unpin + Future + ?Sized, 
    type Output = <F as Future>::Output;
impl<'_, I> Iterator for &'_ mut I where
    I: Iterator + ?Sized, 
    type Item = <I as Iterator>::Item;
impl<R: Read + ?Sized, '_> Read for &'_ mut R
impl<W: Write + ?Sized, '_> Write for &'_ mut W
[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
    U: From<T>, [src]
impl<T> ToOwned for T where
    T: Clone, [src]
type Owned = TThe resulting type after obtaining ownership.
fn to_owned(&self) -> T[src]
fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
    U: Into<T>, [src]
type Error = InfallibleThe type returned in the event of a conversion error.
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]
    © 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
    https://doc.rust-lang.org/std/sync/struct.WaitTimeoutResult.html