1.5.0[−][src]Struct 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.
Methods
impl WaitTimeoutResult[src]
impl WaitTimeoutResultpub fn timed_out(&self) -> bool[src]
pub fn timed_out(&self) -> boolReturns 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 PartialEq<WaitTimeoutResult> for WaitTimeoutResult[src]
impl PartialEq<WaitTimeoutResult> for WaitTimeoutResultfn eq(&self, other: &WaitTimeoutResult) -> bool[src]
fn eq(&self, other: &WaitTimeoutResult) -> boolThis method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, other: &WaitTimeoutResult) -> bool[src]
fn ne(&self, other: &WaitTimeoutResult) -> boolThis method tests for !=.
impl Eq for WaitTimeoutResult[src]
impl Eq for WaitTimeoutResultimpl Debug for WaitTimeoutResult[src]
impl Debug for WaitTimeoutResultfn fmt(&self, f: &mut Formatter) -> Result[src]
fn fmt(&self, f: &mut Formatter) -> ResultFormats the value using the given formatter. Read more
impl Copy for WaitTimeoutResult[src]
impl Copy for WaitTimeoutResultimpl Clone for WaitTimeoutResult[src]
impl Clone for WaitTimeoutResultfn clone(&self) -> WaitTimeoutResult[src]
fn clone(&self) -> WaitTimeoutResultReturns 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)Performs copy-assignment from source. Read more
Auto Trait Implementations
impl Send for WaitTimeoutResult
impl Send for WaitTimeoutResultimpl Sync for WaitTimeoutResult
impl Sync for WaitTimeoutResultBlanket Implementations
impl<T, U> TryFrom for T where
T: From<U>, [src]
impl<T, U> TryFrom for T where
T: From<U>, type Error = !
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>Performs the conversion.
impl<T> From for T[src]
impl<T> From for Timpl<T, U> TryInto for T where
U: TryFrom<T>, [src]
impl<T, U> TryInto for T where
U: TryFrom<T>, type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>Performs the conversion.
impl<T, U> Into for T where
U: From<T>, [src]
impl<T, U> Into for T where
U: From<T>, impl<T> Borrow for T where
T: ?Sized, [src]
impl<T> Borrow for T where
T: ?Sized, ⓘImportant traits for &'a mut Ifn borrow(&self) -> &T[src]
fn borrow(&self) -> &TImmutably borrows from an owned value. Read more
impl<T> BorrowMut for T where
T: ?Sized, [src]
impl<T> BorrowMut for T where
T: ?Sized, ⓘImportant traits for &'a mut Ifn borrow_mut(&mut self) -> &mut T[src]
fn borrow_mut(&mut self) -> &mut TMutably borrows from an owned value. Read more
impl<T> Any for T where
T: 'static + ?Sized, [src]
impl<T> Any for T where
T: 'static + ?Sized, fn get_type_id(&self) -> TypeId[src]
fn get_type_id(&self) -> TypeId🔬 This is a nightly-only experimental API. (get_type_id #27745)
this method will likely be replaced by an associated static
Gets the TypeId of self. Read more
impl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, type Owned = T
fn to_owned(&self) -> T[src]
fn to_owned(&self) -> TCreates owned data from borrowed data, usually by cloning. Read more
fn clone_into(&self, target: &mut T)[src]
fn clone_into(&self, target: &mut T)🔬 This is a nightly-only experimental API. (toowned_clone_into #41263)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more