Added OnPresence trait that allows devices to act on changes in presence

This commit is contained in:
2022-12-29 00:24:00 +01:00
parent 8dc3fd42e7
commit 924b3cf862
9 changed files with 145 additions and 18 deletions

View File

@@ -21,10 +21,14 @@ impl Notifier {
}
fn notify(&mut self, message: Publish) {
trace!("Listener count: {}", self.listeners.len());
self.listeners.retain(|listener| {
if let Some(listener) = listener.upgrade() {
listener.write().unwrap().notify(&message);
return true;
} else {
trace!("Removing listener...");
}
return false;