package async_inotify

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type t
type file_info = string * Async.Unix.Stats.t
module Event : sig ... end
type modify_event_selector = [
  1. | `Any_change
    (*

    Send a Modified event whenever the contents of the file changes (which can be very often when writing a large file)

    *)
  2. | `Closed_writable_fd
    (*

    Only send a Modify event when someone with a file descriptor with write permission to that file is closed. There are usually many fewer of these events (for large files), but they come later.

    *)
]
val create : ?modify_event_selector:modify_event_selector -> ?recursive:bool -> ?watch_new_dirs:bool -> string -> (t * file_info list) Async.Deferred.t

create path creates an inotify watching path. Returns the inotify type t itself and the list of files currently being watched. By default, recursively watches all subdirectories of the given path.

val create_empty : modify_event_selector:modify_event_selector -> t Async.Deferred.t

create_empty modify_event_selector creates an inotify that watches nothing until add or add_all is called.

val stop : t -> unit Async.Deferred.t

stop t stop watching t

val add : t -> string -> unit Async.Deferred.t

add t path add the path to t to be watched

val add_all : ?skip_dir:((string * Async.Unix.Stats.t) -> bool Async.Deferred.t) -> t -> string -> file_info list Async.Deferred.t

add_all t path adds the path to t recursively

val remove : t -> string -> unit Async.Deferred.t

remove t path remove the path from t

val stream : t -> Event.t Async.Stream.t

stream t returns a stream of filesystem events

pipe t returns a pipe of filesystem events