Module B000.Op

type failure =
  1. | Exec of string option
  2. | Missing_writes of B0_std.Fpath.t list
  3. | Missing_reads of B0_std.Fpath.t list
type status =
  1. | Aborted
  2. | Done
  3. | Failed of failure
  4. | Waiting
type id = int
type mark = string
type t
type op = t
module Copy : sig ... end
module Delete : sig ... end
module Mkdir : sig ... end
module Notify : sig ... end
module Read : sig ... end
module Spawn : sig ... end
module Wait_files : sig ... end
module Write : sig ... end
type kind =
  1. | Copy of Copy.t
  2. | Delete of Delete.t
  3. | Mkdir of Mkdir.t
  4. | Notify of Notify.t
  5. | Read of Read.t
  6. | Spawn of Spawn.t
  7. | Wait_files of Wait_files.t
  8. | Write of Write.t
val kind_name : kind -> string
val v : id -> mark:mark -> time_created:B0_std.Mtime.span -> time_started:B0_std.Mtime.span -> duration:B0_std.Mtime.span -> revived:bool -> status:status -> reads:B0_std.Fpath.t list -> writes:B0_std.Fpath.t list -> writes_manifest_root:B0_std.Fpath.t option -> hash:B0_std.Hash.t -> ?post_exec:(op -> unit) -> ?k:(op -> unit) -> kind -> t
val kind : t -> kind
val equal : t -> t -> bool
val compare : t -> t -> int
val id : t -> id
val mark : t -> string
val time_created : t -> B0_std.Mtime.span
val time_started : t -> B0_std.Mtime.span
val time_ended : t -> B0_std.Mtime.span
val waited : t -> B0_std.Mtime.span
val duration : t -> B0_std.Mtime.span
val revived : t -> bool
val status : t -> status
val reads : t -> B0_std.Fpath.t list
val writes : t -> B0_std.Fpath.t list
val writes_manifest_root : t -> B0_std.Fpath.t option
val hash : t -> B0_std.Hash.t
val invoke_k : t -> unit
val discard_k : t -> unit
val invoke_post_exec : t -> unit
val discard_post_exec : t -> unit
val abort : t -> unit
val set_time_started : t -> B0_std.Mtime.span -> unit
val set_time_ended : t -> B0_std.Mtime.span -> unit
val set_revived : t -> bool -> unit
val set_status : t -> status -> unit
val set_status_from_result : t -> ('a, string) result -> unit
val set_reads : t -> B0_std.Fpath.t list -> unit
val set_writes : t -> B0_std.Fpath.t list -> unit
val set_writes_manifest_root : t -> B0_std.Fpath.t option -> unit
val set_hash : t -> B0_std.Hash.t -> unit
module Set : sig ... end
module Map : sig ... end
val did_not_write : t -> B0_std.Fpath.t list
val cannot_read : t -> B0_std.Fpath.t list
val unready_reads : ready_roots:B0_std.Fpath.Set.t -> t list -> B0_std.Fpath.Set.t
val read_write_maps : t list -> Set.t B0_std.Fpath.Map.t * Set.t B0_std.Fpath.Map.t
val write_map : t list -> Set.t B0_std.Fpath.Map.t
val find_read_write_cycle : t list -> t list option
type aggregate_error =
  1. | Failures
  2. | Cycle of t list
  3. | Never_became_ready of B0_std.Fpath.Set.t
val find_aggregate_error : ready_roots:B0_std.Fpath.Set.t -> t list -> (unit, aggregate_error) result