module Rpc: sig .. end
type ('query, 'response) t 
val create : name:string ->
       version:int ->
       bin_query:'query Bin_prot.Type_class.t ->
       bin_response:'response Bin_prot.Type_class.t ->
       ('query, 'response) t
val name : ('a, 'b) t -> string
the same values as were passed to create.
val version : ('a, 'b) t -> int
val implement : ('query, 'response) t ->
       ('connection_state -> 'query -> 'response Import.Deferred.t) ->
       'connection_state Rpc.Implementation.t
val dispatch : ('query, 'response) t ->
       Rpc.Connection.t -> 'query -> 'response Core.Std.Or_error.t Import.Deferred.t
val dispatch_exn : ('query, 'response) t ->
       Rpc.Connection.t -> 'query -> 'response Import.Deferred.t