Module Implementation.F
type (_, _) result_mode
=
|
Blocking : ('a, 'a) result_mode
|
Deferred : ('a, 'a Async_kernel.Deferred.t) result_mode
type ('connection_state, 'query, 'init, 'update) 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 Direct_stream_writer.t -> ('init, 'init) Core_kernel.Result.t Async_kernel.Deferred.t
type 'connection_state 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