[][src]Struct published_value::Waiter

pub struct Waiter<T>(_);

Waiter waits for a value that has been published by Publisher. A Waiter can be cloned and cloned instances all receive the same published value.

Methods

impl<T> Waiter<T>[src]

pub fn wait_for_value(&self) -> &T[src]

Wait for the published value and return an immutable reference to it.

pub fn try_get_value(&self) -> Option<&T>[src]

Attempt to get an immutable reference to the value, and return None if the value has not been published yet. This is guaranteed to succeed if wait_for_value has previously returned.

pub fn into_value(self) -> Result<T, Waiter<T>>[src]

Attempt to gain exclusive ownership of the underlying value. This will only succeed if a value has been published and this is the only Waiter remaining. Otherwise, an Err is returned with the same Waiter that was passed in.

Trait Implementations

impl<T> Clone for Waiter<T>[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl<T: Debug> Debug for Waiter<T>[src]

Auto Trait Implementations

impl<T> Send for Waiter<T> where
    T: Send + Sync

impl<T> Sync for Waiter<T> where
    T: Send + Sync

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]