sig
module Rpc :
sig
module type S =
sig
type query
type response
val implement_multi :
?log_not_previously_seen_version:(name:string -> int -> unit) ->
('state ->
Versioned_rpc.Callee_converts.Rpc.S.query ->
Versioned_rpc.Callee_converts.Rpc.S.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 type query type response end) ->
sig
module Register :
functor
(Version_i : sig
val version : int
type query
type response
val model_of_query :
Versioned_rpc.Callee_converts.Rpc.Make.Register.query ->
Model.query
val response_of_model :
Model.response ->
Versioned_rpc.Callee_converts.Rpc.Make.Register.response
val bin_query :
Versioned_rpc.Callee_converts.Rpc.Make.Register.query
Core.Std.Bin_prot.Type_class.t
val bin_read_query :
Versioned_rpc.Callee_converts.Rpc.Make.Register.query
Core.Std.Bin_prot.Read_ml.reader
val bin_read_query_ :
Versioned_rpc.Callee_converts.Rpc.Make.Register.query
Core.Std.Bin_prot.Unsafe_read_c.reader
val bin_read_query__ :
(int ->
Versioned_rpc.Callee_converts.Rpc.Make.Register.query)
Core.Std.Bin_prot.Unsafe_read_c.reader
val bin_reader_query :
Versioned_rpc.Callee_converts.Rpc.Make.Register.query
Core.Std.Bin_prot.Type_class.reader
val bin_size_query :
Versioned_rpc.Callee_converts.Rpc.Make.Register.query
Core.Std.Bin_prot.Size.sizer
val bin_write_query :
Versioned_rpc.Callee_converts.Rpc.Make.Register.query
Core.Std.Bin_prot.Write_ml.writer
val bin_write_query_ :
Versioned_rpc.Callee_converts.Rpc.Make.Register.query
Core.Std.Bin_prot.Unsafe_write_c.writer
val bin_writer_query :
Versioned_rpc.Callee_converts.Rpc.Make.Register.query
Core.Std.Bin_prot.Type_class.writer
val bin_response :
Versioned_rpc.Callee_converts.Rpc.Make.Register.response
Core.Std.Bin_prot.Type_class.t
val bin_read_response :
Versioned_rpc.Callee_converts.Rpc.Make.Register.response
Core.Std.Bin_prot.Read_ml.reader
val bin_read_response_ :
Versioned_rpc.Callee_converts.Rpc.Make.Register.response
Core.Std.Bin_prot.Unsafe_read_c.reader
val bin_read_response__ :
(int ->
Versioned_rpc.Callee_converts.Rpc.Make.Register.response)
Core.Std.Bin_prot.Unsafe_read_c.reader
val bin_reader_response :
Versioned_rpc.Callee_converts.Rpc.Make.Register.response
Core.Std.Bin_prot.Type_class.reader
val bin_size_response :
Versioned_rpc.Callee_converts.Rpc.Make.Register.response
Core.Std.Bin_prot.Size.sizer
val bin_write_response :
Versioned_rpc.Callee_converts.Rpc.Make.Register.response
Core.Std.Bin_prot.Write_ml.writer
val bin_write_response_ :
Versioned_rpc.Callee_converts.Rpc.Make.Register.response
Core.Std.Bin_prot.Unsafe_write_c.writer
val bin_writer_response :
Versioned_rpc.Callee_converts.Rpc.Make.Register.response
Core.Std.Bin_prot.Type_class.writer
end) ->
sig
val rpc : (Version_i.query, Version_i.response) Rpc.Rpc.t
end
val implement_multi :
?log_not_previously_seen_version:(name:string -> int -> unit) ->
('state -> Model.query -> Model.response Import.Deferred.t) ->
'state Rpc.Implementation.t list
val versions : unit -> Core.Std.Int.Set.t
end
end
module Pipe_rpc :
sig
module type S =
sig
type query
type response
type error
val implement_multi :
?log_not_previously_seen_version:(name:string -> int -> unit) ->
('state ->
Versioned_rpc.Callee_converts.Pipe_rpc.S.query ->
aborted:unit Import.Deferred.t ->
(Versioned_rpc.Callee_converts.Pipe_rpc.S.response
Import.Pipe.Reader.t,
Versioned_rpc.Callee_converts.Pipe_rpc.S.error)
Core.Std.Result.t 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
type query
type response
type error
end) ->
sig
module Register :
functor
(Version_i : sig
val version : int
type query
type response
type error
val model_of_query :
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.query ->
Model.query
val response_of_model :
Model.response ->
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.response
val error_of_model :
Model.error ->
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.error
val bin_query :
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.query
Core.Std.Bin_prot.Type_class.t
val bin_read_query :
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.query
Core.Std.Bin_prot.Read_ml.reader
val bin_read_query_ :
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.query
Core.Std.Bin_prot.Unsafe_read_c.reader
val bin_read_query__ :
(int ->
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.query)
Core.Std.Bin_prot.Unsafe_read_c.reader
val bin_reader_query :
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.query
Core.Std.Bin_prot.Type_class.reader
val bin_size_query :
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.query
Core.Std.Bin_prot.Size.sizer
val bin_write_query :
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.query
Core.Std.Bin_prot.Write_ml.writer
val bin_write_query_ :
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.query
Core.Std.Bin_prot.Unsafe_write_c.writer
val bin_writer_query :
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.query
Core.Std.Bin_prot.Type_class.writer
val bin_response :
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.response
Core.Std.Bin_prot.Type_class.t
val bin_read_response :
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.response
Core.Std.Bin_prot.Read_ml.reader
val bin_read_response_ :
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.response
Core.Std.Bin_prot.Unsafe_read_c.reader
val bin_read_response__ :
(int ->
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.response)
Core.Std.Bin_prot.Unsafe_read_c.reader
val bin_reader_response :
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.response
Core.Std.Bin_prot.Type_class.reader
val bin_size_response :
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.response
Core.Std.Bin_prot.Size.sizer
val bin_write_response :
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.response
Core.Std.Bin_prot.Write_ml.writer
val bin_write_response_ :
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.response
Core.Std.Bin_prot.Unsafe_write_c.writer
val bin_writer_response :
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.response
Core.Std.Bin_prot.Type_class.writer
val bin_error :
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.error
Core.Std.Bin_prot.Type_class.t
val bin_read_error :
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.error
Core.Std.Bin_prot.Read_ml.reader
val bin_read_error_ :
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.error
Core.Std.Bin_prot.Unsafe_read_c.reader
val bin_read_error__ :
(int ->
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.error)
Core.Std.Bin_prot.Unsafe_read_c.reader
val bin_reader_error :
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.error
Core.Std.Bin_prot.Type_class.reader
val bin_size_error :
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.error
Core.Std.Bin_prot.Size.sizer
val bin_write_error :
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.error
Core.Std.Bin_prot.Write_ml.writer
val bin_write_error_ :
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.error
Core.Std.Bin_prot.Unsafe_write_c.writer
val bin_writer_error :
Versioned_rpc.Callee_converts.Pipe_rpc.Make.Register.error
Core.Std.Bin_prot.Type_class.writer
end) ->
sig
val rpc :
(Version_i.query, Version_i.response, Version_i.error)
Rpc.Pipe_rpc.t
end
val implement_multi :
?log_not_previously_seen_version:(name:string -> int -> unit) ->
('state ->
Model.query ->
aborted:unit Import.Deferred.t ->
(Model.response Import.Pipe.Reader.t, Model.error)
Core.Std.Result.t Import.Deferred.t) ->
'state Rpc.Implementation.t list
val versions : unit -> Core.Std.Int.Set.t
end
end
end