Hvsock.SocketAn interface for hypervisor sockets which hides as many of the differences between Linux, Windows and Mac as possible.
val sockaddr_of_uri : Uri.t -> sockaddrParse a URI as a socket address. This currently supports
val to_hyperv : sockaddr -> Af_hyperv.sockaddr optionExpose the AF_HYPERV socket address, if one exists
val to_vsock : sockaddr -> Af_vsock.sockaddr optionExpose the AF_VSOCK socket address, if one exists
val to_hyperkit : sockaddr -> Hyperkit.sockaddr optionExpose the hyperkit socket address, if one exists
include Af_common.S with type sockaddr := sockaddr and type t = Unix.file_descrval string_of_sockaddr : sockaddr -> stringval create : unit -> tcreate () creates an unbound socket
val listen : t -> int -> unitlisten socket queue_length sets the socket to listening mode with the given maximum queue length
connect ?timeout_ms fd sockaddr connects to a remote socket. On Windows the raw connect call can block forever if the server is not running when the call is executed (even if the server starts up afterwards) there is a default timeout of 300ms. On timeout this will raise Unix_error(Unix.ETIMEDOUT)
val writev : t -> Cstruct.t list -> intWrite a list of buffers
val read_into : t -> Cstruct.t -> intRead into a buffer, returning the number of bytes written
val shutdown_read : t -> unitClose the read half of the connection
val shutdown_write : t -> unitClose the write half of the connection
val close : t -> unitClose both halves of the connection