Cap'n Proto is a capability-based RPC system with bindings for many languages
Library capnp-rpc-unix
module Unix_flow : sig ... end

Wraps a Unix file_descr to provide the Mirage flow API.

include Capnp_rpc_lwt.VAT_NETWORK with type flow = Unix_flow.flow and module Network = Network
type flow = Unix_flow.flow

A bi-directional byte-stream.

module Network : sig ... end

A network using TCP and Unix-domain sockets.

module CapTP : sig ... end

Sharing capabilities over a network link.

module Vat : sig ... end

An actor in the CapTP network. A vat is a collection of objects that can call each other directly. A vat may be connected to other vats over CapTP network connections. Typically an application will create only a single vat. See the Capnp_rpc_unix module for a higher-level API.

module Vat_config : sig ... end
module File_store : sig ... end

An on-disk store for saved services.

module Cap_file : sig ... end
val sturdy_uri : Uri.t Cmdliner.Arg.conv

A cmdliner argument converter for a "capnp://" URI (or the path of a file containing such a URI).

val serve : ?switch:Lwt_switch.t -> ?tags:Logs.Tag.set -> ?restore:Capnp_rpc_lwt.Restorer.t -> Vat_config.t -> Vat.t Lwt.t

serve ~restore vat_config is a new vat that is listening for new connections as specified by vat_config. After connecting to it, clients can get access to services using restore.

val client_only_vat : ?switch:Lwt_switch.t -> ?tags:Logs.Tag.set -> ?restore:Capnp_rpc_lwt.Restorer.t -> unit -> Vat.t

client_only_vat () is a new vat that does not listen for incoming connections.

val manpage_capnp_options : string

manpage_capnp_options is the title of the section of the man-page containing the Cap'n Proto options. This can be used to control where these options appear in the page (e.g. to put them below the other options).