Module Plain.Make

Parameters

Signature

module Register : functor (Version : sig ... end) -> sig ... end
include S with type caller_query := Model.Caller.query with type caller_response := Model.Caller.response with type callee_query := Model.Callee.query with type callee_response := Model.Callee.response
type caller_query
type caller_response
type callee_query
type callee_response
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 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