type ('a, 'b) result_mode
= ('a, 'b) Implementation_types.Implementation.F.result_mode
=
| Blocking : ('a, 'a) result_mode |
| Deferred : ('a, 'a Async_kernel.Deferred.t) result_mode |
type ('connection_state, 'query, 'init, 'update) streaming_impl
= ('connection_state, 'query, 'init, 'update) Implementation_types.Implementation.F.streaming_impl
=
| Pipe of 'connection_state ‑> 'query ‑> ('init * 'update Async_kernel.Pipe.Reader.t, 'init) Core_kernel.Result.t Async_kernel.Deferred.t |
| Direct of 'connection_state ‑> 'query ‑> 'update Implementation_types.Direct_stream_writer.t ‑> ('init, 'init) Core_kernel.Result.t Async_kernel.Deferred.t |
type 'connection_state t
= 'connection_state Implementation_types.Implementation.F.t
=
| One_way : 'msg Bin_prot.Type_class.reader * ('connection_state ‑> 'msg ‑> unit) ‑> 'connection_state t |
| One_way_expert : ('connection_state ‑> Core_kernel.Bigstring.t ‑> pos:int ‑> len:int ‑> unit) ‑> 'connection_state t |
| Rpc : 'query Bin_prot.Type_class.reader * 'response Bin_prot.Type_class.writer * ('connection_state ‑> 'query ‑> 'result) * ('response, 'result) result_mode ‑> 'connection_state t |
| Rpc_expert : ('connection_state ‑> Expert.Responder.t ‑> Core_kernel.Bigstring.t ‑> pos:int ‑> len:int ‑> 'result) * (Expert.implementation_result, 'result) result_mode ‑> 'connection_state t |
| Streaming_rpc : 'query Bin_prot.Type_class.reader * 'init Bin_prot.Type_class.writer * 'update Bin_prot.Type_class.writer * ('connection_state, 'query, 'init, 'update) streaming_impl ‑> 'connection_state t |