package async_rpc_kernel

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Parameters

module Model : sig ... end

Signature

module type Version_shared = sig ... end
module Register (Version_i : sig ... end) : sig ... end
module Register_raw (Version_i : sig ... end) : sig ... end

Register_raw is like Register except you get the whole pipe to deal with.

include S with type caller_query := Model.Caller.query with type caller_response := Model.Caller.response with type caller_error := Model.Caller.error with type callee_query := Model.Callee.query with type callee_response := Model.Callee.response with type callee_error := Model.Callee.error
val implement_multi : ?log_not_previously_seen_version:(name:string -> int -> unit) -> ('state -> version:int -> Model.Callee.query -> (Model.Callee.response Async_kernel.Pipe.Reader.t, Model.Callee.error) Core_kernel.Result.t Async_kernel.Deferred.t) -> 'state 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 -> Model.Callee.query -> Model.Callee.response Versioned_direct_stream_writer.t -> (unit, Model.Callee.error) Core_kernel.Result.t Async_kernel.Deferred.t) -> 'state Rpc.Implementation.t list
val rpcs : unit -> Rpc.Any.t list

All supported rpcs.

val versions : unit -> Core_kernel.Int.Set.t

All supported versions. Useful for detecting old versions that may be pruned.

val name : string