Module type Plain.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 -->-´
val dispatch_multi : Connection_with_menu.t -> caller_query -> caller_response Core_kernel.Or_error.t Async_kernel.Deferred.t
multi-version dispatch
val implement_multi : ?log_not_previously_seen_version:(name:string -> int -> unit) -> ('state -> version:int -> callee_query -> callee_response Async_kernel.Deferred.t) -> 'state Rpc.Implementation.t list
implement multiple versions at once
val rpcs : unit -> Rpc.Any.t list
All supported rpcs.
val versions : unit -> Core_kernel.Int.Set.t
All supported versions. Useful for detecting old versions that may be pruned.