async_rpc_kernel

Platform-independent core of Async RPC library
IN THIS PACKAGE
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.Bin_prot.Type_class.t -> bin_state:'state Core_kernel.Bin_prot.Type_class.t -> bin_update:'update Core_kernel.Bin_prot.Type_class.t -> bin_error:'error Core_kernel.Bin_prot.Type_class.t -> unit -> ( 'query, 'state, 'update, 'error ) t
val bin_query : ( 'query, _, _, _ ) t -> 'query Core_kernel.Bin_prot.Type_class.t
val bin_state : ( _, 'state, _, _ ) t -> 'state Core_kernel.Bin_prot.Type_class.t
val bin_update : ( _, _, 'update, _ ) t -> 'update Core_kernel.Bin_prot.Type_class.t
val bin_error : ( _, _, _, 'error ) t -> 'error Core_kernel.Bin_prot.Type_class.t
val implement : ( 'query, 'state, 'update, 'error ) t -> ( 'connection_state -> 'query -> ( 'state * 'update Async_kernel.Pipe.Reader.t, 'error ) Core_kernel.Result.t Async_kernel.Deferred.t ) -> 'connection_state Implementation.t
val dispatch : ( 'query, 'state, 'update, 'error ) t -> Connection.t -> 'query -> ( 'state * 'update Async_kernel.Pipe.Reader.t * Metadata.t, 'error ) Core_kernel.Result.t Core_kernel.Or_error.t Async_kernel.Deferred.t
val abort : ( _, _, _, _ ) t -> Connection.t -> Id.t -> unit
val name : ( _, _, _, _ ) t -> string
val version : ( _, _, _, _ ) t -> int
val description : ( _, _, _, _ ) t -> Description.t