Hvsock.Hyperkit
Low-level interface to the Hyperkit AF_VSOCK interface
type sockaddr = {
hyperkit_path : string; | (* directory containing the `connect` Unix domain socket, often $HOME/Library/Containers/com.docker.docker/Data/vms/0 *) |
port : port; |
}
A Hyperkit AF_VSOCK socket address
include Af_common.S with type sockaddr := sockaddr and type t = Unix.file_descr
val string_of_sockaddr : sockaddr -> string
val create : unit -> t
create ()
creates an unbound socket
val listen : t -> int -> unit
listen 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 -> int
Write a list of buffers
val read_into : t -> Cstruct.t -> int
Read into a buffer, returning the number of bytes written
val shutdown_read : t -> unit
Close the read half of the connection
val shutdown_write : t -> unit
Close the write half of the connection
val close : t -> unit
Close both halves of the connection