Module Websocket
module Connection_close_reason : sig ... endmodule Websocket_role : sig ... endval create : ?opcode:[ `Text | `Binary ] -> role:Websocket_role.t -> Async.Reader.t -> Async.Writer.t -> tval pipes : t -> string Async.Pipe.Reader.t * string Async.Pipe.Writer.tval close_finished : t -> (Connection_close_reason.t * string * Core.Info.t option) Async.Deferred.t