Module Async_rpc_kernel.Versioned_rpc.Both_convert.One_way.Make

Parameters

Model : sig ... end

Signature

module Register : functor (Version : sig ... end) -> sig ... end
include S with type caller_msg := Model.Caller.msg with type callee_msg := Model.Callee.msg
type caller_msg
type callee_msg
val dispatch_multi : Connection_with_menu.t ‑> caller_msg ‑> unit Core_kernel.Or_error.t

multi-version dispatch

val implement_multi : ?⁠log_not_previously_seen_version:(name:string ‑> int ‑> unit) ‑> ('state ‑> version:int ‑> callee_msg ‑> unit) ‑> '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.

val name : string