Module Capnp_rpc_net.Restorer

module Id : sig ... end

Resolutions

type resolution

Internally, this is just ('a Capability.t, Capnp_rpc.Exception.t) result but the types work out better having it abstract.

grant x is Ok x.

reject x is Error x.

val unknown_service_id : resolution

unknown_service_id is a standard rejection message.

Restorers

type t

A restorer looks up live capabilities from service IDs.

val none : t

none is a restorer that rejects everything.

val single : Id.t -> 'a Capnp_rpc_lwt.Capability.t -> t

single id cap is a restorer that responds to id with cap and rejects everything else.

module type LOADER = sig ... end
module Table : sig ... end
val of_table : Table.t -> t
val restore : t -> Id.t -> ('a Capnp_rpc_lwt.Capability.t, Capnp_rpc.Exception.t) Stdlib.result Lwt.t

restore t id restores id using t. You don't normally need to call this directly, as the Vat will do it automatically.