package capnp-rpc

  1. Overview
  2. Docs
Cap'n Proto is a capability-based RPC system with bindings for many languages

Install

dune-project
 Dependency

Authors

Maintainers

Sources

capnp-rpc-2.1.2.tbz
sha256=ef3f64b22d90bfe87f96e751bc61d29646c970032803c4135bec8626aecf704d
sha512=41731da19a0ec67ae8d519f70ba95bae143493df64133965e9dfd9eb7ca33c745efa6047f8784689be6230a2fefd77649b61635e9b713366e42fd8e89ee07512

doc/capnp-rpc.proto/Capnp_rpc_proto/Cap_proxy/Make/argument-1-C/Wire/index.html

Module C.Wire

The core RPC logic can be used with different serialisation systems. The appropriate types should be provided here.

type request
type response
type 'a msg
module Path : sig ... end

A field in a message that refers to a capability.

module Request : S.WIRE_PAYLOAD with type t = request msg and type path := Path.t
module Response : sig ... end
val ref_leak_detected : int -> (unit -> unit) -> unit

ref_leak_detected thread_id fn is called when a promise or capability is GC'd while its ref-count is non-zero, indicating that resources may have been leaked. fn () will log a warning about this and free the resources itself. The reason for going via ref_leak_detected rather than calling fn directly is because the OCaml GC may detect the problem at any point (e.g. while we're sending another message). The implementation should arrange for fn to be called at a safe point in thread thread_id (e.g. when returning to the thread's main loop). Unit-tests may wish to call fn immediately to show the error and then fail the test.