Skip to main content

FileWatcher

Struct FileWatcher 

Source
pub struct FileWatcher { /* private fields */ }
Expand description

Watches a file for changes and unblocks the provided blocker when a change occurs.

use std::env::current_dir;
use ed_journals::fs::{auto_detect_journal_path, FileWatcher, SyncBlocker};

let path = current_dir()
    .unwrap()
    .join("..")
    .join("test-files")
    .join("journals")
    .join("Journal.2000-01-01T100000.01.log");

let blocker = SyncBlocker::new();
let file_watcher = FileWatcher::new(&path, &blocker).unwrap();

blocker.wait().unwrap();
// Something changed

Keep in mind that this watcher needs to be kept in scope for as long as you want to receive notifications.

Implementations§

Source§

impl FileWatcher

Source

pub fn new<P: AsRef<Path>>( path: P, unblocker: impl Into<Arc<dyn Unblocker>>, ) -> Result<FileWatcher, LogFSError>

Creates a new FileWatcher which will watch the provided path for changes.

Trait Implementations§

Source§

impl Debug for FileWatcher

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.