Up

Module type S

                     (conv)   (conv)                          (conv)   (conv)
                     caller   callee                          callee   caller
                     |        |                               |        |
                     |        |                               |        |
        Q.caller ---->-- Q1 -->-.             (impl)        .->-- R1 -->---- R.caller
                \                \            callee       /                /
                 \--->-- Q2 -->---\           |           /--->-- R2 -->---/
                  \                \          |          /                /
                   `->-- Q3 -->---- Q.callee --> R.callee ---->-- R3 -->-ยด
      

Signature

type caller_query
type caller_response
type caller_error
type callee_query
type callee_response
type callee_error
val implement_multi : ?log_not_previously_seen_version:(name:string -> int -> unit) -> ('state -> version:int -> callee_query -> (callee_response Async_kernel.Std.Pipe.Reader.t, callee_error) Core_kernel.Std.Result.t Async_kernel.Std.Deferred.t) -> 'state Async_rpc_kernel.Rpc.Implementation.t list

implement multiple versions at once

val rpcs : unit -> Async_rpc_kernel.Rpc.Any.t list

All supported rpcs.

val versions : unit -> Core_kernel.Std.Int.Set.t

All supported versions. Useful for detecting old versions that may be pruned.

val name : string