package hvsock

  1. Overview
  2. Docs

Create an HVSOCK implementation given the ability to sleep and the ability to run code in the main Lwt thread


module Time : V1_LWT.TIME
module Main : MAIN


type t

A Hyper-V socket

val create : unit -> t

create () creates an unbound AF_HVSOCK socket

val bind : t -> Hvsock.sockaddr -> unit

bind t sockaddr binds socket to sockaddr

val listen : t -> int -> unit

listen t queue

val accept : t -> (t * Hvsock.sockaddr) Lwt.t

accept t accepts a single connection

val connect : ?timeout_ms:int -> t -> Hvsock.sockaddr -> unit Lwt.t

connect ?timeout_ms t sockaddr connects to a remote partition

val read : t -> Cstruct.t -> int Lwt.t

read t buf reads as many bytes as available into buf returning the number of bytes read.

val write : t -> Cstruct.t -> int Lwt.t

write t buf writes as many bytes from buf to t as will currently fit inside t's internal buffer, and return the number of bytes written

val close : t -> unit Lwt.t

close t closes a socket


Innovation. Community. Security.