Module Sihl__.Core_lifecycle

val log_src : Logs.src
module Logs : Logs.LOG
exception Exception
type lifecycle = {
type_name : string;
implementation_name : string;
id : int;
dependencies : unit -> lifecycle list;
start : unit -> unit Lwt.t;
stop : unit -> unit Lwt.t;
}
val counter : int Stdlib.ref
val create_lifecycle : ?⁠dependencies:(unit -> lifecycle list) -> ?⁠start:(unit -> unit Lwt.t) -> ?⁠stop:(unit -> unit Lwt.t) -> ?⁠implementation_name:string -> string -> lifecycle
val human_name : lifecycle -> string
module Map : sig ... end
val collect_all_lifecycles : lifecycle list -> lifecycle Map.t
val top_sort_lifecycles : lifecycle list -> lifecycle list