Module Async_rpc_kernel.Implementation.F

type ('a, 'b) result_mode = ('a'bImplementation_types.Implementation.F.result_mode =
| Blocking : ('a'aresult_mode
| Deferred : ('a'a Async_kernel.Deferred.tresult_mode
type ('connection_state, 'query, 'init, 'update) streaming_impl = ('connection_state'query'init'updateImplementation_types.Implementation.F.streaming_impl =
| Pipe of 'connection_state ‑> 'query ‑> ('init * 'update Async_kernel.Pipe.Reader.t'initCore_kernel.Result.t Async_kernel.Deferred.t
| Direct of 'connection_state ‑> 'query ‑> 'update Implementation_types.Direct_stream_writer.t ‑> ('init'initCore_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'resultresult_mode ‑> 'connection_state t
| Rpc_expert : ('connection_state ‑> Expert.Responder.t ‑> Core_kernel.Bigstring.t ‑> pos:int ‑> len:int ‑> 'result) * (Expert.implementation_result'resultresult_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'updatestreaming_impl ‑> 'connection_state t
val lift : 'a t ‑> f:('b ‑> 'a) ‑> 'b t