pub struct Rcv<'a, T: Clone, W: WatchBehavior<T> + ?Sized> { /* private fields */ }
Expand description
A receiver can .await
a change in the Watch
value.
Implementations§
Source§impl<'a, T: Clone, W: WatchBehavior<T> + ?Sized> Rcv<'a, T, W>
impl<'a, T: Clone, W: WatchBehavior<T> + ?Sized> Rcv<'a, T, W>
Sourcepub async fn get(&mut self) -> T
pub async fn get(&mut self) -> T
Returns the current value of the Watch
once it is initialized, marking it as seen.
Note: Futures do nothing unless you .await
or poll them.
Sourcepub fn try_get(&mut self) -> Option<T>
pub fn try_get(&mut self) -> Option<T>
Tries to get the current value of the Watch
without waiting, marking it as seen.
Sourcepub async fn get_and<F>(&mut self, f: F) -> T
pub async fn get_and<F>(&mut self, f: F) -> T
Returns the value of the Watch
if it matches the predicate function f
,
or waits for it to match, marking it as seen.
Note: Futures do nothing unless you .await
or poll them.
Sourcepub fn try_get_and<F>(&mut self, f: F) -> Option<T>
pub fn try_get_and<F>(&mut self, f: F) -> Option<T>
Tries to get the current value of the Watch
if it matches the predicate
function f
without waiting, marking it as seen.
Sourcepub async fn changed(&mut self) -> T
pub async fn changed(&mut self) -> T
Waits for the Watch
to change and returns the new value, marking it as seen.
Note: Futures do nothing unless you .await
or poll them.
Sourcepub fn try_changed(&mut self) -> Option<T>
pub fn try_changed(&mut self) -> Option<T>
Tries to get the new value of the watch without waiting, marking it as seen.
Sourcepub async fn changed_and<F>(&mut self, f: F) -> T
pub async fn changed_and<F>(&mut self, f: F) -> T
Waits for the Watch
to change to a value which satisfies the predicate
function f
and returns the new value, marking it as seen.
Note: Futures do nothing unless you .await
or poll them.
Sourcepub fn try_changed_and<F>(&mut self, f: F) -> Option<T>
pub fn try_changed_and<F>(&mut self, f: F) -> Option<T>
Tries to get the new value of the watch which satisfies the predicate
function f
and returns the new value without waiting, marking it as seen.
Sourcepub fn contains_value(&self) -> bool
pub fn contains_value(&self) -> bool
Checks if the Watch
contains a value. If this returns true,
then awaiting Rcv::get
will return immediately.