std::sync::WaitTimeoutResult - Rust
Description: API documentation for the Rust `WaitTimeoutResult` struct in crate `std`.
Keywords: rust, rustlang, rust-lang, WaitTimeoutResult

# 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]

#### `fn timed_out(&self) -> bool`
[src]

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 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
        }
    }Run

## Trait Implementations

### `impl Debug for WaitTimeoutResult`
[src]

#### `fn fmt(&self, __arg_0: &mut Formatter) -> Result`
[src]

Formats the value using the given formatter.

### `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)`
1.0.0
[src]

Performs copy-assignment from `source`. Read more

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result
+
  Collapse/expand all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)