archi-lwt

Lwt runtime for Archi, a library for managing the lifecycle of stateful components in OCaml
IN THIS PACKAGE
Module Archi_lwt . Component
type (_, _) t
type (_, _, _) deps =
| [] : ( 'ctx, 'ty, 'ty ) deps
| :: : ( 'ctx, 'a ) t * ( 'ctx, 'b, 'ty ) deps -> ( 'ctx, 'a -> 'b, 'ty ) deps
val append : ( 'ctx, 'a ) t -> ( 'ctx, 'b, 'ty ) deps -> ( 'ctx, 'a -> 'b, 'ty ) deps
val concat : ( 'ctx, 'a, 'ty ) deps -> ( 'ctx, 'ty, 'b ) deps -> ( 'ctx, 'a, 'b ) deps
module type COMPONENT = sig ... end
module type SIMPLE_COMPONENT = sig ... end

Creating components

val identity : 'ty -> ( 'ctx, 'ty ) t
val make : start:( 'ctx -> ( 'a, [ `Msg of string ] ) result Io.t ) -> stop:( 'a -> unit Io.t ) -> ( 'ctx, 'a ) t
val make_m : (module SIMPLE_COMPONENT with type ctx = 'ctx and type t = 'a) -> ( 'ctx, 'a ) t
val using : start:( 'ctx -> 'args ) -> stop:( 'a -> unit Io.t ) -> dependencies:( 'ctx, 'args, ( 'a, [ `Msg of string ] ) result Io.t ) deps -> ( 'ctx, 'a ) t
val using_m : (module COMPONENT with type args = 'args and type ctx = 'ctx and type t = 'a) -> dependencies:( 'ctx, 'args, ( 'a, [ `Msg of string ] ) result Io.t ) deps -> ( 'ctx, 'a ) t
val of_system : ( 'a, 'b, 'c ) System.t -> ( 'a, 'b ) t