pub struct ChangeEventBus { /* private fields */ }Implementations§
Source§impl ChangeEventBus
impl ChangeEventBus
Sourcepub fn new() -> Self
pub fn new() -> Self
Examples found in repository?
examples/watch.rs (line 22)
21fn main() {
22 let mut bus = ChangeEventBus::new();
23
24 // Subscribe to a simple scalar
25 let rx_a = bus.subscribe(Foo::fields().a());
26
27 // Subscribe to a nested field
28 let rx_c = bus.subscribe(Foo::fields().bar().c());
29
30 // Pretend our file-watcher detected changes:
31 bus.publish("a", "42".into());
32 bus.publish("bar.c", "\"updated\"".into());
33
34 println!("got a = {}", rx_a.recv().unwrap());
35 println!("got bar.c = {}", rx_c.recv().unwrap());
36}Sourcepub fn subscribe(&mut self, field: FieldName) -> Receiver<String>
pub fn subscribe(&mut self, field: FieldName) -> Receiver<String>
Subscribe to a particular field path.
Examples found in repository?
examples/watch.rs (line 25)
21fn main() {
22 let mut bus = ChangeEventBus::new();
23
24 // Subscribe to a simple scalar
25 let rx_a = bus.subscribe(Foo::fields().a());
26
27 // Subscribe to a nested field
28 let rx_c = bus.subscribe(Foo::fields().bar().c());
29
30 // Pretend our file-watcher detected changes:
31 bus.publish("a", "42".into());
32 bus.publish("bar.c", "\"updated\"".into());
33
34 println!("got a = {}", rx_a.recv().unwrap());
35 println!("got bar.c = {}", rx_c.recv().unwrap());
36}Sourcepub fn publish(&self, path: &str, new_value: String)
pub fn publish(&self, path: &str, new_value: String)
Push a change onto the bus (e.g. "a" or "b.c").
Examples found in repository?
examples/watch.rs (line 31)
21fn main() {
22 let mut bus = ChangeEventBus::new();
23
24 // Subscribe to a simple scalar
25 let rx_a = bus.subscribe(Foo::fields().a());
26
27 // Subscribe to a nested field
28 let rx_c = bus.subscribe(Foo::fields().bar().c());
29
30 // Pretend our file-watcher detected changes:
31 bus.publish("a", "42".into());
32 bus.publish("bar.c", "\"updated\"".into());
33
34 println!("got a = {}", rx_a.recv().unwrap());
35 println!("got bar.c = {}", rx_c.recv().unwrap());
36}Trait Implementations§
Source§impl Clone for ChangeEventBus
impl Clone for ChangeEventBus
Source§fn clone(&self) -> ChangeEventBus
fn clone(&self) -> ChangeEventBus
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Default for ChangeEventBus
impl Default for ChangeEventBus
Source§fn default() -> ChangeEventBus
fn default() -> ChangeEventBus
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for ChangeEventBus
impl RefUnwindSafe for ChangeEventBus
impl Send for ChangeEventBus
impl Sync for ChangeEventBus
impl Unpin for ChangeEventBus
impl UnwindSafe for ChangeEventBus
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more