pub struct Config { /* private fields */ }
Expand description
Watcher Backend configuration
This contains multiple settings that may relate to only one specific backend, such as to correctly configure each backend regardless of what is selected during runtime.
let config = Config::default()
.with_poll_interval(Duration::from_secs(2))
.with_compare_contents(true);
Some options can be changed during runtime, others have to be set when creating the watcher backend.
Implementations§
Source§impl Config
impl Config
Sourcepub fn with_poll_interval(self, dur: Duration) -> Self
pub fn with_poll_interval(self, dur: Duration) -> Self
For the PollWatcher
backend.
Interval between each re-scan attempt. This can be extremely expensive for large file trees so it is recommended to measure and tune accordingly.
The default poll frequency is 30 seconds.
This will enable automatic polling, overwriting with_manual_polling()
.
Sourcepub fn poll_interval(&self) -> Option<Duration>
pub fn poll_interval(&self) -> Option<Duration>
Returns current setting
Sourcepub fn with_manual_polling(self) -> Self
pub fn with_manual_polling(self) -> Self
For the PollWatcher
backend.
Disable automatic polling. Requires calling crate::PollWatcher::poll()
manually.
This will disable automatic polling, overwriting with_poll_interval()
.
Sourcepub fn with_compare_contents(self, compare_contents: bool) -> Self
pub fn with_compare_contents(self, compare_contents: bool) -> Self
For the PollWatcher
backend.
Optional feature that will evaluate the contents of changed files to determine if
they have indeed changed using a fast hashing algorithm. This is especially important
for pseudo filesystems like those on Linux under /sys and /proc which are not obligated
to respect any other filesystem norms such as modification timestamps, file sizes, etc.
By enabling this feature, performance will be significantly impacted as all files will
need to be read and hashed at each poll_interval
.
This can’t be changed during runtime. Off by default.
Sourcepub fn compare_contents(&self) -> bool
pub fn compare_contents(&self) -> bool
Returns current setting
Sourcepub fn with_follow_symlinks(self, follow_symlinks: bool) -> Self
pub fn with_follow_symlinks(self, follow_symlinks: bool) -> Self
For the INotifyWatcher, KqueueWatcher, and PollWatcher.
Determine if symbolic links should be followed when recursively watching a directory.
This can’t be changed during runtime. On by default.
Sourcepub fn follow_symlinks(&self) -> bool
pub fn follow_symlinks(&self) -> bool
Returns current setting
Trait Implementations§
impl Copy for Config
impl Eq for Config
impl StructuralPartialEq for Config
Auto Trait Implementations§
impl Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnwindSafe for Config
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 24 bytes