Module supporting interface to file-system -- stat, digest, glob. Services: Digest caching & inotify wrapping (as hearts).
module Ocaml_digest : sig ... endmodule Digest = Jenga_lib.Db.Digestmodule Kind = Jenga_lib.Db.Kindmodule Glob : sig ... endmodule Listing = Jenga_lib.Db.Listingval create : Jenga_lib.Config.t ‑> Jenga_lib.Persist.t ‑> t Async.Deferred.tmodule Contents_result : sig ... endmodule Digest_result : sig ... endmodule Listing_result : sig ... endmodule Ensure_directory_result : sig ... endval contents_file : t ‑> file:Jenga_lib.Path.t ‑> Contents_result.t Jenga_lib.Tenacious.tval digest_file : t ‑> file:Jenga_lib.Path.t ‑> Digest_result.t Jenga_lib.Tenacious.tval list_glob : t ‑> Glob.t ‑> Listing_result.t Core.Or_error.t Jenga_lib.Tenacious.tval ensure_directory : t ‑> dir:Jenga_lib.Path.t ‑> Ensure_directory_result.t Jenga_lib.Tenacious.tval lock_targets_and_mask_updates : t ‑> targets:Jenga_lib.Path.Rel.t list ‑> (unit ‑> 'a Async.Deferred.t) ‑> 'a Async.Deferred.tLocks targets for writing and masks the corresponding 'file changed' messages
val clear_watcher_cache : t ‑> Jenga_lib.Path.t ‑> needed_for_correctness:bool ‑> unitmodule Mtime : sig ... endval mtime_file : t ‑> file:Jenga_lib.Path.t ‑> Mtime.t option Jenga_lib.Tenacious.tval mtime_files_right_now : Jenga_lib.Path.t list ‑> ((Jenga_lib.Path.t * Mtime.t) list, string) Core.Result.t Async.Deferred.t