Module Sihl__.Core_container
include Sihl__.Core_lifecycle
module Logs = Sihl__.Core_lifecycle.Logs
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 = Sihl__.Core_lifecycle.Map
module Service = Sihl__.Core_service
val start_services : Sihl__.Core_service.t list -> Sihl__.Core_lifecycle.lifecycle list Lwt.t
val stop_services : Sihl__.Core_service.t list -> unit Lwt.t