Up

Module Menu

Over the network discovery of rpc names and versions supported by a callee.

This is used by the dispatch_multi functions in Caller_converts and Both_convert to dynamically determine the most appropriate version to use.

Signature

type t

a directory of supported rpc names and versions.

val add : 's Rpc.Implementation.t list -> 's Rpc.Implementation.t list

add impls extends a list of rpc implementations with an additional rpc implementation for providing a Menu.t when one is requested via Menu.request.

request an rpc version menu from an rpc connection

val supported_rpcs : t -> Rpc.Description.t list

find what rpcs are supported

val supported_versions : t -> rpc_name:string -> Core_kernel.Std.Int.Set.t

find what versions of a particular rpc are supported

val create : Rpc.Description.t list -> t

create a menu directly -- generally you should use request instead

val rpc_name : string

the internal name of this RPC -- for example to be used in Rpc.Expert to distinguish it from other queries.