include sig ... end
type json = Jsonrpc2__.Jsonrpc2_intf.J.ttype t = Jsonrpc2__Jsonrpc2_core.Make(IO_lwt).t
val create : ic:IO.in_channel -> oc:IO.out_channel -> unit -> t
type method_ = t -> params:json option -> return:((json, string) Pervasives.result -> unit) -> unit
val declare_method : t -> string -> method_ -> unitval declare_method_with : t -> decode_arg:(json -> ('a, string) Pervasives.result) -> encode_res:('b -> json) -> string -> (t -> params:'a option -> return:('b -> unit) -> unit) -> unitval declare_blocking_method_with : t -> decode_arg:(json -> ('a, string) Pervasives.result) -> encode_res:('b -> json) -> string -> ('a option -> 'b) -> unit
exception Jsonrpc2_error of int * string
type message = Jsonrpc2__Jsonrpc2_core.Make(IO_lwt).message
val request : t -> meth:string -> params:json option -> message * (json, int * string) Pervasives.result IO.Future.tval notify : t -> meth:string -> params:json option -> messageval send : t -> message -> (unit, exn) Pervasives.result IO.tval send_batch : t -> message list -> (unit, exn) Pervasives.result IO.tval send_request : t -> meth:string -> params:json option -> (json, exn) Pervasives.result IO.tval send_notify : t -> meth:string -> params:json option -> (unit, exn) Pervasives.result IO.tval send_request_with : encode_params:('a -> json) -> decode_res:(json -> ('b, string) Pervasives.result) -> t -> meth:string -> params:'a option -> ('b, exn) Pervasives.result IO.tval send_notify_with : encode_params:('a -> json) -> t -> meth:string -> params:'a option -> (unit, exn) Pervasives.result IO.tval run : t -> (unit, exn) Pervasives.result IO.t