Struct std::sync::WaitTimeoutResult
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.
Implementations
impl WaitTimeoutResult
pub fn timed_out(&self) -> bool
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
fn clone(&self) -> WaitTimeoutResult
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Debug for WaitTimeoutResult
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter. Read more
impl PartialEq<WaitTimeoutResult> for WaitTimeoutResult
fn eq(&self, other: &WaitTimeoutResult) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &WaitTimeoutResult) -> bool
This method tests for !=
.
impl Copy for WaitTimeoutResult
impl Eq for WaitTimeoutResult
impl StructuralEq for WaitTimeoutResult
impl StructuralPartialEq for WaitTimeoutResult
Auto Trait Implementations
impl RefUnwindSafe for WaitTimeoutResult
impl Send for WaitTimeoutResult
impl Sync for WaitTimeoutResult
impl Unpin for WaitTimeoutResult
impl UnwindSafe for WaitTimeoutResult
Blanket Implementations
impl<T> From<T> for T
pub fn from(t: T) -> T
Performs the conversion.
pub fn into(self) -> U
Performs the conversion.
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
#41263)recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
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>
Performs the conversion.
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
Performs the conversion.
© 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