package async_rpc_kernel

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

A 'connection_state Implementations.t is something that knows how to respond to many different queries. It is conceptually a package of 'connection_state Implementation.ts.

type 'connection_state t
val null : unit -> 'connection_state t

a server that can handle no queries

val lift : 'a t -> f:('b -> 'a) -> 'b t
val create : implementations:'connection_state Implementation.t list -> on_unknown_rpc: [ `Raise | `Continue | `Close_connection | `Call of 'connection_state -> rpc_tag:string -> version:int -> [ `Close_connection | `Continue ] ] -> ('connection_state t, [ `Duplicate_implementations of Description.t list ]) Core_kernel.Result.t

create ~implementations ~on_unknown_rpc creates a server capable of responding to the rpcs implemented in the implementation list. Be careful about setting on_unknown_rpc to `Raise because other programs may mistakenly connect to this one causing it to crash.

val create_exn : implementations:'connection_state Implementation.t list -> on_unknown_rpc: [ `Raise | `Continue | `Close_connection | `Call of 'connection_state -> rpc_tag:string -> version:int -> [ `Close_connection | `Continue ] ] -> 'connection_state t
val add : 'connection_state t -> 'connection_state Implementation.t -> 'connection_state t Core_kernel.Or_error.t
val add_exn : 'connection_state t -> 'connection_state Implementation.t -> 'connection_state t
val descriptions : _ t -> Description.t list
module Expert : sig ... end

Low-level, untyped access to queries. Regular users should ignore this.