Command
is used for setting up an RPC server in the child process. By default this
will set up an RPC server, but passing the -sexp
flag will make it run the
implementation on a sexp read from stdin instead. Passing the -menu
flag
will cause the command to print out a sexp indicating which RPC names and
versions are supported.
module Invocation : sig ... end
module Stateful : sig ... end
module type T : Stateful.T with type state := Invocation.t
module type T_conv : Stateful.T_conv with type state := Invocation.t
module type T_pipe : Stateful.T_pipe with type state := Invocation.t
val stateful : Invocation.t Stateful.t list ‑> t list
You need to call this on your list of stateful RPCs before they can be passed to
create
or (more usually) the function you get in Expert.param
.
val create : ?heartbeat_config:Async.Rpc.Connection.Heartbeat_config.t ‑> ?log_not_previously_seen_version:(name:string ‑> int ‑> unit) ‑> summary:string ‑> t list ‑> Async.Command.t
module Expert : sig ... end