Module Gluten.Server

include RUNTIME
type t
val next_read_operation : t -> [ `Read | `Yield | `Close ]
val read : t -> Bigstringaf.t -> off:int -> len:int -> int
val read_eof : t -> Bigstringaf.t -> off:int -> len:int -> int
val yield_reader : t -> (unit -> unit) -> unit
val next_write_operation : t -> [ `Write of Bigstringaf.t Faraday.iovec list | `Yield | `Close of int ]
val report_write_result : t -> [ `Ok of int | `Closed ] -> unit
val yield_writer : t -> (unit -> unit) -> unit
val report_exn : t -> exn -> unit
val is_closed : t -> bool
val shutdown : t -> unit
val create : protocol:'t runtime -> 't -> t
val upgrade_protocol : t -> impl -> unit
type 'reqd request_handler = 'reqd Reqd.t -> unit
val create_upgradable : protocol:'t runtime -> create:(('reqd -> unit) -> 't) -> 'reqd request_handler -> t