Module type Command.T_pipe_conv
val query_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> query
val sexp_of_response : response -> Ppx_sexp_conv_lib.Sexp.t
val sexp_of_error : error -> Ppx_sexp_conv_lib.Sexp.t
include Async.Versioned_rpc.Callee_converts.Pipe_rpc.S with type query := query with type response := response with type error := error
val implement_multi : ?log_not_previously_seen_version:(name:string -> int -> unit) -> ('state -> version:int -> query -> (response Async_kernel.Pipe.Reader.t, error) Core_kernel.Result.t Async_kernel.Deferred.t) -> 'state Async_rpc_kernel.Rpc.Implementation.t list
implement multiple versions at once
val implement_direct_multi : ?log_not_previously_seen_version:(name:string -> int -> unit) -> ('state -> version:int -> query -> response Async_rpc_kernel.Versioned_rpc.Versioned_direct_stream_writer.t -> (unit, error) Core_kernel.Result.t Async_kernel.Deferred.t) -> 'state Async_rpc_kernel.Rpc.Implementation.t list
implement multiple versions at once, using a
Versioned_direct_stream_writer
val rpcs : unit -> Async_rpc_kernel.Rpc.Any.t list
All rpcs implemented by
implement_multi
val versions : unit -> Core_kernel.Int.Set.t
All versions supported by
implement_multi
. (useful for computing which old versions may be pruned)
val implementation : state -> query -> (response Async.Pipe.Reader.t, error) Core.Result.t Async.Deferred.t