Struct async_change_tracker::ChangeTracker[][src]

pub struct ChangeTracker<T> { /* fields omitted */ }

Tracks changes to data. Notifies listeners via a futures::Stream.

The data to be tracked is type T. The value of type T is wrapped in a private field. The AsRef trait is implemented so &T can be obtained by calling as_ref(). Read and write access can be gained by calling the modify method.

Subsribe to changes by calling get_changes.

See the module-level documentation for more information and a usage example.

Methods

impl<T> ChangeTracker<T> where
    T: Clone
[src]

Create a new ChangeTracker which takes ownership of the data of type T.

Returns a futures::Stream that emits a message when a change occurs

The capacity of the underlying channel is specified with the capacity argument.

To remove a listener, drop the Receiver.

Modify the data value, notifying listeners upon change.

Trait Implementations

impl<T> AsRef<T> for ChangeTracker<T>
[src]

Performs the conversion.

Auto Trait Implementations

impl<T> Send for ChangeTracker<T> where
    T: Send

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