module Channel : Mirage_channel.S
with type 'a t = 'a Lwt.t
with type ic = Channel.t
with type oc = Channel.t
with type conn = Channel.flow
type 'a t = 'a Lwt.t
'a t represents a blocking monad state
a >>= b will pass the result of
a to the
b function. This is a monadic
val return : 'a -> 'a t
return a will construct a constant IO value.
type ic = Channel.t
ic represents an input channel
type oc = Channel.t
oc represents an output channel
type conn = Channel.flow
conn represents the underlying network flow
read_line ic will read a single line terminated by CR or CRLF from the input channel
ic. It returns
None if EOF or other error condition is reached.
read ic len will block until a maximum of
len characters are read from the input channel
ic. It returns an empty string if EOF or some other error condition occurs on the input channel, and can also return fewer than
len characters if input buffering is not sufficient to satisfy the request.
write oc s will block until the complete
s string is written to the output channel
catch f is
f () >|= Result.ok, unless
f fails with an IO error, in which case it returns the error.
val pp_error : Format.formatter -> error -> unit