pub struct ConfigWatcher {
pub receiver: Receiver<ConfigReloadEvent>,
}Expand description
Watches a config file for changes and sends reload events on a channel.
Changes are debounced by 500 ms (via notify-debouncer-mini) to avoid
reacting to partial writes or rapid saves. Drop this struct to stop
watching — the background thread exits when it detects the receiver
has been dropped.
Fields§
§receiver: Receiver<ConfigReloadEvent>Receive ConfigReloadEvents from the background thread.
Implementations§
Source§impl ConfigWatcher
impl ConfigWatcher
Sourcepub fn start(path: &Path) -> Result<Self>
pub fn start(path: &Path) -> Result<Self>
Start watching path. Returns immediately; the debouncer runs on a
background thread managed by notify.
Sourcepub fn start_with_debounce(path: &Path, debounce: Duration) -> Result<Self>
pub fn start_with_debounce(path: &Path, debounce: Duration) -> Result<Self>
Like [start] but with a configurable debounce duration. Useful in
tests where a shorter debounce keeps suites fast.
Auto Trait Implementations§
impl Freeze for ConfigWatcher
impl RefUnwindSafe for ConfigWatcher
impl Send for ConfigWatcher
impl !Sync for ConfigWatcher
impl Unpin for ConfigWatcher
impl UnsafeUnpin for ConfigWatcher
impl UnwindSafe for ConfigWatcher
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 more