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 whether 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, Mutex, Condvar};
use std::thread;
use std::time::Duration;
let pair = Arc::new((Mutex::new(false), Condvar::new()));
let pair2 = pair.clone();
thread::spawn(move|| {
let &(ref lock, ref cvar) = &*pair2;
let mut started = lock.lock().unwrap();
// We update the boolean value.
*started = true;
// Let's wait 20 milliseconds before notifying the condvar.
thread::sleep(Duration::from_millis(20));
cvar.notify_one();
});
// Wait for the thread to start up.
let &(ref lock, ref 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 Debug for WaitTimeoutResult
[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
impl PartialEq for WaitTimeoutResult
[src]
fn eq(&self, __arg_0: &WaitTimeoutResult) -> bool
[src]
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, __arg_0: &WaitTimeoutResult) -> bool
[src]
This method tests for !=.
impl Eq for WaitTimeoutResult
[src]
impl Copy for WaitTimeoutResult
[src]
impl Clone for WaitTimeoutResult
[src]
fn clone(&self) -> WaitTimeoutResult
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more
© 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