package sihl

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

The service container manages service lifecycles. It knows how to start services in the right order by respecting the defined dependencies. Use it to implement you own services.

type start = Core__.Core_ctx.t -> Core__.Core_ctx.t Lwt.t
type stop = Core__.Core_ctx.t -> unit Lwt.t
module Lifecycle : sig ... end
module type SERVICE = sig ... end
val collect_all_lifecycles : (module SERVICE) list -> (string, Lifecycle.t, Base.String.comparator_witness) Base.Map.t
val top_sort_lifecycles : (module SERVICE) list -> Lifecycle.t list
val start_services : (module SERVICE) list -> ((module SERVICE) list * Core__.Core_ctx.t) Lwt.t
val stop_services : Core__.Core_ctx.t -> (module SERVICE) list -> unit Lwt.t