package current

  1. Overview
  2. Docs
type t
type metadata
type results = {
  1. value : unit Current_term.Output.t;
  2. analysis : Analysis.t;
  3. watches : metadata list;
  4. jobs : actions Job_map.t;
    (*

    The jobs currently being used (whether running or finished).

    *)
}
val create : ?config:Config.t -> ?trace:(results -> unit Lwt.t) -> (unit -> unit term) -> t

create pipeline is a new engine running pipeline. The engine will evaluate t's pipeline immediately, and again whenever one of its inputs changes.

val state : t -> results

The most recent results from evaluating the pipeline.

val jobs : results -> actions Job_map.t
val thread : t -> 'a Lwt.t

thread t is the engine's thread. Use this to monitor the engine (in case it crashes).

val actions : metadata -> actions
val job_id : metadata -> job_id option
val config : t -> Config.t
val is_stale : metadata -> bool

is_stale m is true if this job has signalled that it should be re-evaluated. Provided for unit-tests.

val pp_metadata : metadata Fmt.t