1. Overview
  2. Docs


module T : Mirage_time.S


include Capnp_rpc_net.VAT_NETWORK with type flow = Stack.TCPV4.flow and module Network = Capnp_rpc_mirage__.Network.Make(R)(T)(C)(Stack)
type flow = Stack.TCPV4.flow

A bi-directional byte-stream.

module Network : sig ... end
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
val network : dns:Network.Dns.t -> Stack.t -> Network.t
val serve : ?switch:Lwt_switch.t -> ?tags:Logs.Tag.set -> ?restore:Capnp_rpc_net.Restorer.t -> Network.t -> Vat_config.t -> Vat.t Lwt.t

serve ~restore net 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 -> Network.t -> Vat.t

client_only_vat net is a new vat that does not listen for incoming connections.