pub struct FileChangeWatcher { /* private fields */ }Expand description
Watches a set of paths and sends FileChangedEvent on any change.
Uses notify-debouncer-mini to debounce rapid filesystem events.
Paths are resolved once at construction time from the project root.
Call stop() on the watcher to shut it down cleanly. The watcher
is also stopped automatically when all senders are dropped.
Implementations§
Source§impl FileChangeWatcher
impl FileChangeWatcher
Sourcepub fn start(
watch_paths: &[PathBuf],
debounce_ms: u64,
tx: Sender<FileChangedEvent>,
) -> Result<Self, FileWatcherError>
pub fn start( watch_paths: &[PathBuf], debounce_ms: u64, tx: Sender<FileChangedEvent>, ) -> Result<Self, FileWatcherError>
Start watching the given paths.
watch_paths are watched recursively if they are directories.
Each path in watch_paths is watched with RecursiveMode::Recursive.
§Errors
Returns an error if no paths are provided or if the watcher cannot be initialized.
Trait Implementations§
Source§impl Debug for FileChangeWatcher
impl Debug for FileChangeWatcher
Auto Trait Implementations§
impl Freeze for FileChangeWatcher
impl RefUnwindSafe for FileChangeWatcher
impl Send for FileChangeWatcher
impl Sync for FileChangeWatcher
impl Unpin for FileChangeWatcher
impl UnsafeUnpin for FileChangeWatcher
impl UnwindSafe for FileChangeWatcher
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request