Module Make.CapTP

Sharing capabilities over a network link.

type t

A CapTP connection to a remote peer.

val connect : restore:Capnp_rpc_net.Restorer.t -> ?tags:Logs.Tag.set -> Capnp_rpc_net.Endpoint.t -> t

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.