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]

####

`pub 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'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]

####

`fn fmt(&self, f: &mut Formatter) -> Result`

[src]

Formats the value using the given formatter. Read more

###

`impl PartialEq for WaitTimeoutResult`

[src]

####

`fn eq(&self, other: &WaitTimeoutResult) -> bool`

[src]

This method tests for `self` and `other` values to be equal, and is used by `==`. Read more

####

`fn ne(&self, other: &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

## Auto Trait Implementations

###

`impl Send for WaitTimeoutResult`

###

`impl Sync for WaitTimeoutResult`

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse 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`)

Search multiple things at once by splitting your query with comma (e.g. `str,u8` or `String,struct:Vec,test`)