Module One_way.Make

Parameters

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 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.Int.Set.t

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

val name : string