Body.Writer
val write_char : t -> char -> unit
write_char w char
copies char
into an internal buffer. If possible, this write will be combined with previous and/or subsequent writes before transmission.
val write_string : t -> ?off:int -> ?len:int -> string -> unit
write_string w ?off ?len str
copies str
into an internal buffer. If possible, this write will be combined with previous and/or subsequent writes before transmission.
val write_bigstring : t -> ?off:int -> ?len:int -> Bigstringaf.t -> unit
write_bigstring w ?off ?len bs
copies bs
into an internal buffer. If possible, this write will be combined with previous and/or subsequent writes before transmission.
val schedule_bigstring : t -> ?off:int -> ?len:int -> Bigstringaf.t -> unit
schedule_bigstring w ?off ?len bs
schedules bs
to be transmitted at the next opportunity without performing a copy. bs
should not be modified until a subsequent call to flush
has successfully completed.
val flush : t -> (unit -> unit) -> unit
flush t f
makes all bytes in t
available for writing to the awaiting output channel. Once those bytes have reached that output channel, f
will be called.
The type of the output channel is runtime-dependent, as are guarantees about whether those packets have been queued for delivery or have actually been received by the intended recipient.
val close : t -> unit
close t
closes t
, causing subsequent write calls to raise. If t
is writable, this will cause any pending output to become available to the output channel.