package babel
Module Caller.Pipe_rpc_iterSource
High level functions for working with callers in the style of Async.Rpc.Pipe_rpc.dispatch_iter.
type ('q, 'r, 'e) dispatch :=
'q ->
f:
('r Async_rpc_kernel.Rpc.Pipe_rpc.Pipe_message.t ->
Async_rpc_kernel.Rpc.Pipe_rpc.Pipe_response.t) ->
(Id.t, 'e) Core.Result.t Core.Or_error.t Async_kernel.Deferred.tSource
val dispatch_multi :
('q, 'r, 'e) dispatch t ->
Async_rpc_kernel.Versioned_rpc.Connection_with_menu.t ->
('q, 'r, 'e) dispatchDetermine which supported dispatch strategy to use and invoke the chosen rpcs. To unsubscribe, you can use abort.
Create a new caller supporting a single rpc.
Source
val add :
('q, 'r, 'e) dispatch t ->
rpc:('q, 'r, 'e) Async_rpc_kernel.Rpc.Pipe_rpc.t ->
('q, 'r, 'e) dispatch tAdd support for dispatching another rpc. dispatch_multi will prefer this rpc over the ones the caller already supports.
A specialization of map for the query type of a protocol.
A specialization of map for the response type of a protocol.
A specialization of map for the error type of a protocol.