sig
module Plain :
sig
module type S =
sig
type caller_query
type caller_response
type callee_query
type callee_response
val dispatch_multi :
Versioned_rpc.Connection_with_menu.t ->
Versioned_rpc.Both_convert.Plain.S.caller_query ->
Versioned_rpc.Both_convert.Plain.S.caller_response
Core.Std.Or_error.t Import.Deferred.t
val implement_multi :
?log_not_previously_seen_version:(name:string -> int -> unit) ->
('state ->
Versioned_rpc.Both_convert.Plain.S.callee_query ->
Versioned_rpc.Both_convert.Plain.S.callee_response
Import.Deferred.t) ->
'state Rpc.Implementation.t list
val versions : unit -> Core.Std.Int.Set.t
end
module Make :
functor
(Model : sig
val name : string
module Caller : sig type query type response end
module Callee : sig type query type response end
end) ->
sig
module Register :
functor
(Version : sig
val version : int
type query
type response
val query_of_caller_model :
Model.Caller.query ->
Versioned_rpc.Both_convert.Plain.Make.Register.query
val callee_model_of_query :
Versioned_rpc.Both_convert.Plain.Make.Register.query ->
Model.Callee.query
val response_of_callee_model :
Model.Callee.response ->
Versioned_rpc.Both_convert.Plain.Make.Register.response
val caller_model_of_response :
Versioned_rpc.Both_convert.Plain.Make.Register.response ->
Model.Caller.response
val bin_query :
Versioned_rpc.Both_convert.Plain.Make.Register.query
Core.Std.Bin_prot.Type_class.t
val bin_read_query :
Versioned_rpc.Both_convert.Plain.Make.Register.query
Core.Std.Bin_prot.Read_ml.reader
val bin_read_query_ :
Versioned_rpc.Both_convert.Plain.Make.Register.query
Core.Std.Bin_prot.Unsafe_read_c.reader
val bin_read_query__ :
(int ->
Versioned_rpc.Both_convert.Plain.Make.Register.query)
Core.Std.Bin_prot.Unsafe_read_c.reader
val bin_reader_query :
Versioned_rpc.Both_convert.Plain.Make.Register.query
Core.Std.Bin_prot.Type_class.reader
val bin_size_query :
Versioned_rpc.Both_convert.Plain.Make.Register.query
Core.Std.Bin_prot.Size.sizer
val bin_write_query :
Versioned_rpc.Both_convert.Plain.Make.Register.query
Core.Std.Bin_prot.Write_ml.writer
val bin_write_query_ :
Versioned_rpc.Both_convert.Plain.Make.Register.query
Core.Std.Bin_prot.Unsafe_write_c.writer
val bin_writer_query :
Versioned_rpc.Both_convert.Plain.Make.Register.query
Core.Std.Bin_prot.Type_class.writer
val bin_response :
Versioned_rpc.Both_convert.Plain.Make.Register.response
Core.Std.Bin_prot.Type_class.t
val bin_read_response :
Versioned_rpc.Both_convert.Plain.Make.Register.response
Core.Std.Bin_prot.Read_ml.reader
val bin_read_response_ :
Versioned_rpc.Both_convert.Plain.Make.Register.response
Core.Std.Bin_prot.Unsafe_read_c.reader
val bin_read_response__ :
(int ->
Versioned_rpc.Both_convert.Plain.Make.Register.response)
Core.Std.Bin_prot.Unsafe_read_c.reader
val bin_reader_response :
Versioned_rpc.Both_convert.Plain.Make.Register.response
Core.Std.Bin_prot.Type_class.reader
val bin_size_response :
Versioned_rpc.Both_convert.Plain.Make.Register.response
Core.Std.Bin_prot.Size.sizer
val bin_write_response :
Versioned_rpc.Both_convert.Plain.Make.Register.response
Core.Std.Bin_prot.Write_ml.writer
val bin_write_response_ :
Versioned_rpc.Both_convert.Plain.Make.Register.response
Core.Std.Bin_prot.Unsafe_write_c.writer
val bin_writer_response :
Versioned_rpc.Both_convert.Plain.Make.Register.response
Core.Std.Bin_prot.Type_class.writer
end) ->
sig end
val dispatch_multi :
Connection_with_menu.t ->
Model.Caller.query ->
Model.Caller.response Core.Std.Or_error.t Import.Deferred.t
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
val versions : unit -> Core.Std.Int.Set.t
end
end
end