Up

Module Implementations

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.

Signature

type 'connection_state t = 'connection_state Implementations.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.Std.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.Std.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.