package capnp-rpc-unix

  1. Overview
  2. Docs

Helpers for using Capnp_rpc_lwt on traditional operating systems.

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.

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.

OCaml

Innovation. Community. Security.