Crate notify_debouncer_mini
source ·Expand description
Debouncer for notify. Filters incoming events and emits only one event per timeframe per file.
Installation
[dependencies]
notify-debouncer-mini = "0.4.1"
In case you want to select specific features of notify, specify notify as dependency explicitly in your dependencies. Otherwise you can just use the re-export of notify from debouncer-mini.
notify-debouncer-mini = "0.4.1"
notify = { version = "..", features = [".."] }
Examples
See also the full configuration example here.
use notify_debouncer_mini::{notify::*,new_debouncer,DebounceEventResult};
// Select recommended watcher for debouncer.
// Using a callback here, could also be a channel.
let mut debouncer = new_debouncer(Duration::from_secs(2), |res: DebounceEventResult| {
match res {
Ok(events) => events.iter().for_each(|e|println!("Event {:?} for {:?}",e.kind,e.path)),
Err(e) => println!("Error {:?}",e),
}
}).unwrap();
// Add a path to be watched. All files and directories at that path and
// below will be monitored for changes.
debouncer.watcher().watch(Path::new("."), RecursiveMode::Recursive).unwrap();
// note that dropping the debouncer (as will happen here) also ends the debouncer
// thus this demo would need an endless loop to keep running
Features
The following crate features can be turned on or off in your cargo dependency config:
crossbeam
enabled by default, addsDebounceEventHandler
support for crossbeam channels. Also enables crossbeam-channel in the re-exported notify. You may want to disable this when using the tokio async runtime.serde
enables serde support for events.
Caveats
As all file events are sourced from notify, the known problems section applies here too.
Re-exports
pub use notify;
Structs
- Config for debouncer-mini
- A debounced event.
- Debouncer guard, stops the debouncer on drop
Enums
- A debounced event kind.
Traits
- The set of requirements for watcher debounce event handling functions.
Functions
- Short function to create a new debounced watcher with the recommended debouncer.
- Creates a new debounced watcher with custom configuration.
Type Definitions
- A result of debounced events. Comes with either a vec of events or an immediate error.