Module Capnp_rpc_unix

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

A Vat is an actor in the CapTP network, composed of objects that can call each other directly.

module Vat_config : sig ... end

Configuration for a Vat.

module File_store : sig ... end

An on-disk store for saved services.

module Cap_file : sig ... end

Utilities for capability files.

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).