package async_rpc_kernel

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
                     (conv)   (conv)                          (conv)   (conv)
                     caller   callee                          callee   caller
                     |        |                               |        |
                     |        |                               |        |
        Q.caller ---->-- Q1 -->-.             (impl)        .->-- R1 -->---- R.caller
                \                \            callee       /                /
                 \--->-- Q2 -->---\           |           /--->-- R2 -->---/
                  \                \          |          /                /
                   `->-- Q3 -->---- Q.callee --> R.callee ---->-- R3 -->-´
type caller_query
type caller_response
type caller_error
type callee_query
type callee_response
type callee_error
val implement_multi : ?log_not_previously_seen_version:(name:string -> int -> unit) -> ('state -> version:int -> callee_query -> (callee_response Async_kernel.Pipe.Reader.t, 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 -> callee_query -> callee_response Versioned_direct_stream_writer.t -> (unit, 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