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_net.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 connect_with_progress : ?mode:[ `Auto | `Log | `Batch | `Console | `Silent ] -> 'a Capnp_rpc_lwt.Sturdy_ref.t -> ('a Capnp_rpc_lwt.Capability.t, Capnp_rpc.Exception.t) Lwt_result.t

connect_with_progress sr is like Sturdy_ref.connect, but shows that a connection is in progress. Note: On failure, it does not display the error, which should instead be handled by the caller.

  • parameter mode

    Controls how progress is displayed:

    • `Log writes info-level log messages about starting and completing the connection.
    • `Batch prints a message to stderr when starting, then prints OK when done.
    • `Console displays a message while connecting if it takes too long, then erases it when done.
    • `Silent does nothing.
    • `Auto (the default) tries to log (as for `Log), but if the log message isn't used then it behaves as `Console (if stderr is a tty) or as `Batch (if not).
val with_cap_exn : ?progress:[ `Auto | `Log | `Batch | `Console | `Silent ] -> 'a Capnp_rpc_lwt.Sturdy_ref.t -> ('a Capnp_rpc_lwt.Capability.t -> 'b Lwt.t) -> 'b Lwt.t

Like Sturdy_ref.with_cap_exn, but using connect_with_progress to show progress.

val serve : ?switch:Lwt_switch.t -> ?tags:Logs.Tag.set -> ?restore:Capnp_rpc_net.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_net.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).

OCaml

Innovation. Community. Security.