package async_rpc_kernel
Module Rpc.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.
val null : unit -> 'connection_state ta server that can handle no queries
val create :
implementations:'connection_state Implementation.t list ->
on_unknown_rpc:'connection_state on_unknown_rpc ->
('connection_state t, [ `Duplicate_implementations of Description.t list ])
Core.Result.tcreate ~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 tval add :
'connection_state t ->
'connection_state Implementation.t ->
'connection_state t Core.Or_error.tval add_exn :
'connection_state t ->
'connection_state Implementation.t ->
'connection_state tval descriptions : _ t -> Description.t listmodule Expert : sig ... endLow-level, untyped access to queries. Regular users should ignore this.