Flow.Make
A buffered Mirage FLOW implementation over a hypervisor socket
module Socket_family : Hvsock.Af_common.S
include Mirage_flow_combinators.SHUTDOWNABLE with type error := error
val pp_error : error Fmt.t
val pp_write_error : write_error Fmt.t
val write : flow -> Cstruct.t -> ( unit, write_error ) Stdlib.result Lwt.t
val writev :
flow ->
Cstruct.t list ->
( unit, write_error ) Stdlib.result Lwt.t
val close : flow -> unit Lwt.t
val shutdown_write : flow -> unit Lwt.t
val shutdown_read : flow -> unit Lwt.t
module Socket : S.SOCKET with type sockaddr = Socket_family.sockaddr
Construct a flow given a hypervisor socket connection. ?message_size allows the maximum send/recv size to be limited. ?buffer_size controls how much buffering is placed over the socket.
Note the buffer handling of this flow is different to normal: `read` and `readv` will retain references to the passed buffers. They must not be used again by the calling application.