Functor Versioned_rpc.Both_convert.Plain

module Plain: 
functor (Model : sig
val name : string
module Caller: sig .. end
module Callee: sig .. end
end) -> sig .. end
Parameters:
Model : sig val name : string module Caller : sig type query type response end module Callee : sig type query type response end end

module Register: 
functor (Version : sig
val version : int
type query 
type response 
val query_of_caller_model : Model.Caller.query -> query
val callee_model_of_query : query -> Model.Callee.query
val response_of_callee_model : Model.Callee.response -> response
val caller_model_of_response : response -> Model.Caller.response
val bin_query : query
Bin_prot.Type_class.t
val bin_read_query : query
Bin_prot.Read_ml.reader
val bin_read_query_ : query
Bin_prot.Unsafe_read_c.reader
val bin_read_query__ : (int -> query)
Bin_prot.Unsafe_read_c.reader
val bin_reader_query : query
Bin_prot.Type_class.reader
val bin_size_query : query Bin_prot.Size.sizer
val bin_write_query : query
Bin_prot.Write_ml.writer
val bin_write_query_ : query
Bin_prot.Unsafe_write_c.writer
val bin_writer_query : query
Bin_prot.Type_class.writer
val bin_response : response
Bin_prot.Type_class.t
val bin_read_response : response
Bin_prot.Read_ml.reader
val bin_read_response_ : response
Bin_prot.Unsafe_read_c.reader
val bin_read_response__ : (int -> response)
Bin_prot.Unsafe_read_c.reader
val bin_reader_response : response
Bin_prot.Type_class.reader
val bin_size_response : response
Bin_prot.Size.sizer
val bin_write_response : response
Bin_prot.Write_ml.writer
val bin_write_response_ : response
Bin_prot.Unsafe_write_c.writer
val bin_writer_response : response
Bin_prot.Type_class.writer
end) -> sig .. end
val dispatch_multi : Versioned_rpc.Both_convert.Connection_with_menu.t ->
Model.Caller.query ->
Model.Caller.response Core.Std.Or_error.t Import.Deferred.t
multi-version dispatch
val implement_multi : ?log_not_previously_seen_version:(name:string -> int -> unit) ->
('state -> Model.Callee.query -> Model.Callee.response Import.Deferred.t) ->
'state Rpc.Implementation.t list
implement multiple versions at once
val versions : unit -> Core.Std.Int.Set.t
all supported versions. useful for detecting old versions which may be pruned