package sihl

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

Module Sihl_core.ContainerSource

A module to manage the service container and service lifecycles.

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

Lifecycle

Every service has a lifecycle, meaning it can be started and stopped. *

Sourcemodule Lifecycle : sig ... end

Service

A service has a start and stop functions and a lifecycle. *

Sourcemodule Service : sig ... end
Sourceval start_services : Service.t list -> Lifecycle.t list Lwt.t

start_services lifecycles starts a list of service lifecycles. The order does not matter as the services are started in the order of their dependencies. (No service is started before its dependency)

Sourceval stop_services : Service.t list -> unit Lwt.t

stop_services ctx services stops a list of service lifecycles with a context ctx. The order does not matter as the services are stopped in the order of their dependencies. (No service is stopped after its dependency)

Sourcemodule Map : sig ... end
Sourceval collect_all_lifecycles : Lifecycle.t list -> Lifecycle.t Map.t
Sourceval top_sort_lifecycles : Lifecycle.t list -> Lifecycle.t list
OCaml

Innovation. Community. Security.