Functions
The following are utility functions that are useful when working with change tokens.
On Change
The tokens::on_change function mediates a producer method that returns a ChangeToken and a consumer function that responds to a change. Unlike the CompositeChangeToken, the tokens::on_change function will facilitate calling back to the specified consumer, immediately drop the last ChangeToken, and request a new ChangeToken from the producer.
The return value of the function is an opaque struct that implements the Subscription trait representing the perpetual subscription. tokens::on_change will continue to signal the consumer with changes and refresh the producer ChangeToken until the opaque subscription object has been dropped.
use std::path::PathBuf;
use tokens::FileChangeToken;
let path = PathBuf::from("./my-app/some.txt");
let subscription = tokens::on_change(
move || FileChangeToken::new(path.clone()),
|state| {
println!("{}", state.unwrap().display());
},
Some(path.clone()));