package capnp-rpc
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=4b59a4147cf6e49c650dbfa4cdb918aec3be69cffd1ef6b5c818584464feb987
sha512=69114597e9cd8ad42c72c1751796b216f98f2a9f09f50a0628b4a3259c2f9b169fd47a73be7b76cfda298a6c202bc79762116865272e35ca0d0914242ace34d7
doc/capnp-rpc.proto/Capnp_rpc_proto/CapTP/Make/index.html
Module CapTP.Make
Source
Parameters
module EP : Message_types.ENDPOINT
Signature
A t
is a connection to a remote vat.
A restorer
is a function f
for restoring saved capabilities. f k object_id
must eventually call k result
exactly once to respond to the client's bootstrap message with result
. k
takes ownership of the capability.
val create :
?restore:restorer ->
tags:Logs.Tag.set ->
fork:((unit -> unit) -> unit) ->
queue_send:([> EP.Out.t ] -> unit) ->
t
create ~restore ~tags ~fork ~queue_send
is a handler for a connection to a remote peer. Messages will be sent to the peer by calling queue_send
(which MUST deliver them in order). If the remote peer asks for a bootstrap object, restore
will be used to get it. Log messages will be tagged with tags
.
bootstrap t object_id
returns a reference to the remote peer's bootstrap object, if any. object_id
is the "deprecatedObjectId", which is, however, still used. This call does not block; the result is a promise for the object, on which further messages may be pipelined.
handle_msg t
feeds one message received from the remote peer into t
. It will call queue_send
as necessary to handle the call. Messages MUST be fed to handle_msg
in the order in which they arrive from the peer.
disconnect t reason
breaks all references with reason
and releases the bootstrap object. Does nothing if already disconnected.
Debugging and diagnostics
tags t
is a set of logging tags suitable for logging a message about this connection.