Page
Library
Module
Module type
Parameter
Class
Class type
Source
Mirage_channel_lwt.MakeFunctor to create a CHANNEL from a flow implementation
module F : Mirage_flow_lwt.Sval pp_error : error Fmt.tpp_error is the pretty-printer for errors.
The type for write errors.
val pp_write_error : write_error Fmt.tpp_write_error is the pretty-printer for write errors.
type buffer = Cstruct.tThe type for memory buffers.
type flow = F.flowThe type for unbuffered network flow.
type 'a io = 'a Lwt.tThe type for potentially blocking I/O operation
create flow allocates send and receive buffers and associates them with the given unbuffered flow.
val read_char : t -> (char Mirage_flow.or_eof, error) result ioReads a single character from the channel, blocking if there is no immediately available input data.
read_some ?len t reads up to len characters from the input channel and at most a full buffer. If len is not specified, it reads all available data and returns that buffer.
read_exactly len t reads len bytes from the channel t or fails with Eof.
read_line t reads a line of input, which is terminated either by a CRLF sequence, or the end of the channel (which counts as a line).
val write_char : t -> char -> unitwrite_char t ch writes a single character to the output channel.
val write_string : t -> string -> int -> int -> unitwrite_string t buf off len writes len bytes from a string buf, starting from from offset off.
write_buffer t buf copies the buffer to the channel's output buffer. The buffer should not be modified after being written, and it will be recycled into the buffer allocation pool at some future point.
val write_line : t -> string -> unitwrite_line t buf writes the string buf to the output channel and append a newline character afterwards.
val flush : t -> (unit, write_error) result ioflush t flushes the output buffer and block if necessary until it is all written out to the flow.
val close : t -> (unit, write_error) result ioclose t calls flush and then close the underlying flow.