Module Uwt.Fs_event

module Fs_event: sig .. end

FS Event handles allow the user to monitor a given path for changes, for example, if the file was renamed or there was a generic change in it. This handle uses the best backend for the job on each platform.

type t 
include Uwt.Handle
val to_handle : t -> Uwt.Handle.t
type event = 
| Rename
| Change
type flags = 
| Entry (*

By default, if the fs event watcher is given a directory name, we will watch for all events in that directory. This flags overrides this behavior and makes fs_event report only changes to the directory entry itself. This flag does not affect individual files watched. This flag is currently not implemented yet on any backend.

*)
| Stat (*

By default Fs_event will try to use a kernel interface such as inotify or kqueue to detect events. This may not work on remote filesystems such as NFS mounts. This flag makes fs_event fall back to calling stat() on a regular interval. This flag is currently not implemented yet on any backend.

*)
| Recursive (*

By default, event watcher, when watching directory, is not registering (is ignoring) changes in it's subdirectories. This flag will override this behaviour on platforms that support it.

*)
type cb = t -> (string * event list) uv_result -> unit 
val start : string ->
flags list -> cb:cb -> t uv_result

Start the handle with the given callback, which will watch the specified path for changes

val start_exn : string -> flags list -> cb:cb -> t