val name : ( _, _ ) t -> string
the same values as were passed to create.
val version : ( _, _ ) t -> int
val implement' : ( 'query, 'response ) t -> ( 'connection_state -> 'query -> 'response ) -> 'connection_state Implementation.t
implement' is different from
implement in that:
'response is immediately serialized and scheduled for delivery to the RPC dispatcher.
2. Less allocation happens, as none of the Async-related machinery is necessary.
implement also tries to do 1 when possible, but it is guaranteed to happen with
val dispatch' : ( 'query, 'response ) t -> Connection.t -> 'query -> 'response Rpc_result.t Async_kernel.Deferred.t
Rpc_result.t as output. Passing it through
rpc_result_to_or_error gives you the same result as
module Expert : sig ... end