Cap'n Proto is a capability-based RPC system with bindings for many languages
Library capnp-rpc-unix
type t

A CapTP connection to a remote peer.

connect ~restore ~switch endpoint is fresh CapTP protocol handler that sends and receives messages using endpoint. restore is used to respond to "Bootstrap" messages. If the connection fails then endpoint will be disconnected.

bootstrap t object_id is the peer's bootstrap object object_id, if any. Use object_id = "" for the main, public object.

val disconnect : t -> Capnp_rpc.Exception.t -> unit Lwt.t

disconnect reason closes the connection, sending reason to the peer to explain why. Capabilities and questions at both ends will break, with reason as the problem.

val dump : t Fmt.t

dump dumps the state of the connection, for debugging.