Isolate watcher queues and selectively reload resolved service binaries

This commit is contained in:
2026-11-06 20:00:29 +00:00
parent b39bbd4f18
commit 457a966068
10 changed files with 247 additions and 44 deletions
+11 -10
View File
@@ -78,17 +78,18 @@ impl HostWatcher for State {
.root
.observer()
.ok_or_else(|| wasmtime::format_err!("filesystem has no observer"))?;
let paths: Vec<String> = paths
.iter()
.map(|p| {
sausage_vfs::resolve("/", p)
.trim_end_matches('/')
.to_owned()
})
.map(|p| if p.is_empty() { "/".into() } else { p })
.collect();
Ok(self.table.push(Watcher {
paths: paths
.iter()
.map(|p| {
sausage_vfs::resolve("/", p)
.trim_end_matches('/')
.to_owned()
})
.map(|p| if p.is_empty() { "/".into() } else { p })
.collect(),
events: observer.subscribe(),
events: observer.subscribe(paths.clone()),
paths,
pending: Vec::new(),
})?)
}