Module Capnp_rpc_mirage.Make

Parameters

module R : Mirage_random.S
module T : Mirage_time.S
module M : Mirage_clock.MCLOCK
module P : Mirage_clock.PCLOCK
module Stack : Tcpip.Stack.V4V6

Signature

include Capnp_rpc_net.VAT_NETWORK with type flow = Stack.TCP.flow and module Network = Capnp_rpc_mirage__.Network.Make(R)(T)(M)(P)(Stack)
type flow = Stack.TCP.flow

A bi-directional byte-stream.

module Network : sig ... end
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
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.