Library
Module
Module type
Parameter
Class
Class type
type file_info = string * Async.Unix.Stats.t
module Event : sig ... end
type modify_event_selector = [
| `Any_change
Send a Modified event whenever the contents of the file changes (which can be very often when writing a large file)
*)| `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
val pipe : t -> Event.t Async.Pipe.Reader.t
pipe t
returns a pipe of filesystem events