Module Versioned_rpc.Menu

module Menu: sig .. end
machinery for communicating names and versions of supported rpcs from within the rpc protocol itself.

This is useful for dynamically determining the most appropriate version number to pass dispatch_multi. when using Caller_converts-style versioned rpcs


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.
val request : Rpc.Connection.t ->
t Core.Std.Or_error.t Import.Deferred.t
request an rpc version menu from an rpc connection
val supported_rpcs : t -> Rpc.Implementation.Description.t list
find what rpcs are supported
val supported_versions : t -> rpc_name:string -> Core.Std.Int.Set.t
find what versions of a particular rpc are supported