Flow.MakeA buffered Mirage FLOW implementation over a hypervisor socket
module Socket_family : Hvsock.Af_common.Sinclude Mirage_flow.S with type error := errorval pp_error : error Fmt.tval pp_write_error : write_error Fmt.tval write : flow -> Cstruct.t -> (unit, write_error) Stdlib.result Lwt.tval writev : flow -> Cstruct.t list -> (unit, write_error) Stdlib.result Lwt.tval shutdown : flow -> [ `read | `read_write | `write ] -> unit Lwt.tval close : flow -> unit Lwt.tmodule Socket : S.SOCKET with type sockaddr = Socket_family.sockaddrConstruct 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.