Module Implementation.F

type ('a, 'b) result_mode = ('a'b) Async_rpc_kernel__.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) Async_rpc_kernel__.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 Async_rpc_kernel__.Implementation_types.Direct_stream_writer.t -> ('init'init) Core_kernel.Result.t Async_kernel.Deferred.t
type 'connection_state t = 'connection_state Async_rpc_kernel__.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
val lift : 'a t -> f:('b -> 'a) -> 'b t