Up

Module State_rpc = Async_extra.Import.Rpc_kernel.State_rpc

Signature

type ('query, 'state, 'update, 'error) t
module Id : sig .. end
module Metadata : sig .. end
val create : ?client_pushes_back:unit -> name:string -> version:int -> bin_query:'query Core_kernel.Std.Bin_prot.Type_class.t -> bin_state:'state Core_kernel.Std.Bin_prot.Type_class.t -> bin_update:'update Core_kernel.Std.Bin_prot.Type_class.t -> bin_error:'error Core_kernel.Std.Bin_prot.Type_class.t -> unit -> ('query, 'state, 'update, 'error) t
val bin_query : ('query, _, _, _) t -> 'query Core_kernel.Std.Bin_prot.Type_class.t
val bin_state : (_, 'state, _, _) t -> 'state Core_kernel.Std.Bin_prot.Type_class.t
val bin_update : (_, _, 'update, _) t -> 'update Core_kernel.Std.Bin_prot.Type_class.t
val bin_error : (_, _, _, 'error) t -> 'error Core_kernel.Std.Bin_prot.Type_class.t
val implement : ('query, 'state, 'update, 'error) t -> ('connection_state -> 'query -> aborted:unit Async_kernel.Std.Deferred.t -> ('state * 'update Async_kernel.Std.Pipe.Reader.t, 'error) Core_kernel.Std.Result.t Async_kernel.Std.Deferred.t) -> 'connection_state Rpc_kernel.Implementation.t
val dispatch : ('query, 'state, 'update, 'error) t -> Rpc_kernel.Connection.t -> 'query -> update:('state -> 'update -> 'state) -> ('state * ('state * 'update) Async_kernel.Std.Pipe.Reader.t * Metadata.t, 'error) Core_kernel.Std.Result.t Core_kernel.Std.Or_error.t Async_kernel.Std.Deferred.t
val abort : (_, _, _, _) t -> Rpc_kernel.Connection.t -> Id.t -> unit
val name : (_, _, _, _) t -> string
val version : (_, _, _, _) t -> int
val description : (_, _, _, _) t -> Rpc_kernel.Description.t