Struct std::sync::WaitTimeoutResult 1.5.0
[−]
[src]
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.
Methods
impl WaitTimeoutResult
[src]
impl WaitTimeoutResult
pub fn timed_out(&self) -> bool
[src]
pub fn timed_out(&self) -> bool
Returns whether 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, 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'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 &(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 } }Run
Trait Implementations
impl Debug for WaitTimeoutResult
[src]
impl Debug for WaitTimeoutResult
fn fmt(&self, __arg_0: &mut Formatter) -> Result
[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl PartialEq for WaitTimeoutResult
[src]
impl PartialEq for WaitTimeoutResult
fn eq(&self, __arg_0: &WaitTimeoutResult) -> bool
[src]
fn eq(&self, __arg_0: &WaitTimeoutResult) -> bool
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]
fn ne(&self, __arg_0: &WaitTimeoutResult) -> bool
This method tests for !=
.
impl Eq for WaitTimeoutResult
[src]
impl Eq for WaitTimeoutResult
impl Copy for WaitTimeoutResult
[src]
impl Copy for WaitTimeoutResult
impl Clone for WaitTimeoutResult
[src]
impl Clone for WaitTimeoutResult
fn clone(&self) -> WaitTimeoutResult
[src]
fn clone(&self) -> WaitTimeoutResult
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
1.0.0
[src]Performs copy-assignment from source
. Read more
Auto Trait Implementations
impl Send for WaitTimeoutResult
impl Send for WaitTimeoutResult
impl Sync for WaitTimeoutResult
impl Sync for WaitTimeoutResult