NotifyWatcher

Struct NotifyWatcher 

Source
pub struct NotifyWatcher<TValueFn, TValue>
where TValueFn: Fn() -> TValue,
{ /* private fields */ }
Expand description

Watcher that calls a ‘notify’ method whenever its core value changes

Implementations§

Source§

impl<TValueFn, TValue> NotifyWatcher<TValueFn, TValue>
where TValueFn: Fn() -> TValue,

Source

pub fn new( get_value: TValueFn, to_notify: Arc<dyn Notifiable>, ) -> (NotifyWatcher<TValueFn, TValue>, ReleasableNotifiable)

Creates a new notify watcher

The return value is the watcher and the function to call to indicate that a change has happened in the underlying data store (the corresponding to_notify notification will be fired only if get() has been called since the last update)

Trait Implementations§

Source§

impl<TValueFn, TValue> Drop for NotifyWatcher<TValueFn, TValue>
where TValueFn: Fn() -> TValue,

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl<TValueFn, TValue> Watcher<TValue> for NotifyWatcher<TValueFn, TValue>
where TValueFn: Fn() -> TValue,

Source§

fn get(&self) -> TValue

Reads the current value of the binding. The notification associated with this watcher will be fired if the value is changed from the last value that was returned by this call.

Auto Trait Implementations§

§

impl<TValueFn, TValue> Freeze for NotifyWatcher<TValueFn, TValue>
where TValueFn: Freeze,

§

impl<TValueFn, TValue> RefUnwindSafe for NotifyWatcher<TValueFn, TValue>
where TValueFn: RefUnwindSafe,

§

impl<TValueFn, TValue> Send for NotifyWatcher<TValueFn, TValue>
where TValueFn: Send,

§

impl<TValueFn, TValue> Sync for NotifyWatcher<TValueFn, TValue>
where TValueFn: Sync,

§

impl<TValueFn, TValue> Unpin for NotifyWatcher<TValueFn, TValue>
where TValueFn: Unpin,

§

impl<TValueFn, TValue> UnwindSafe for NotifyWatcher<TValueFn, TValue>
where TValueFn: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.