package sihl

  1. Overview
  2. Docs
The Sihl web framework

Install

Dune Dependency

Authors

Maintainers

Sources

1.0.0-rc1.tar.gz
md5=3dd7fcf3b9f0cf99c1ce0ceed278aef6
sha512=aeb289a71186b7b0b429d3869bb4eab632eec5ab403353dc13d8a18c5b04af5fda7c2a74bacf98364a8e0b1b3e843fb5a0b28a0c38652bed2e9432ee6659b53a

doc/sihl/Sihl/Container/index.html

Module Sihl.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. *

Sourcetype lifecycle = {
  1. name : string;
  2. dependencies : unit -> lifecycle list;
  3. start : unit -> unit Lwt.t;
  4. stop : unit -> unit Lwt.t;
}
Sourceval create_lifecycle : ?dependencies:(unit -> lifecycle list) -> ?start:(unit -> unit Lwt.t) -> ?stop:(unit -> unit Lwt.t) -> string -> lifecycle

Service

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

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

start_services services starts a list of services. 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 services 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 list -> lifecycle Map.t
Sourceval top_sort_lifecycles : lifecycle list -> lifecycle list
Sourceval unpack : string -> ?default:'a -> 'a option ref -> 'a
OCaml

Innovation. Community. Security.