Functor Versioned_rpc.Callee_converts.Rpc.Make

module Make: 
functor (Model : sig
val name : string
type query 
type response 
end) -> sig .. end
Given a model of the types involved in a family of RPCs, this functor provides a single multi-version implementation function implement_multi in terms of that model and a mechanism for registering the individual versions that implement_multi knows about. Registration requires knowing how to get into and out of the model.
        Q1 -->-.         ,-->-- R1
                \       /
        Q2 -->-- Q --> R --->-- R2
                /       \
        Q3 -->-'         `-->-- R3
     

Parameters:
Model : sig val name : string (* the name of the Rpc's being unified in the model *) type query type response end

module Register: 
functor (Version_i : sig
val version : int
type query 
type response 
val model_of_query : query -> Model.query
val response_of_model : Model.response -> response
val bin_query : query
Bin_prot.Type_class.t
val bin_read_query : query
Bin_prot.Read.reader
val __bin_read_query__ : (int -> query)
Bin_prot.Read.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.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.reader
val __bin_read_response__ : (int -> response)
Bin_prot.Read.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.writer
val bin_writer_response : response
Bin_prot.Type_class.writer
end) -> sig .. end
add a new version to the set of versions implemented by implement_multi.
include Versioned_rpc.Callee_converts.Rpc.S