package hvsock

  1. Overview
  2. Docs
Bindings for Hyper-V AF_VSOCK

Install

Dune Dependency

Authors

Maintainers

Sources

hvsock-3.0.0.tbz
sha256=46d179976f153a7723890ba78fbcfee60e70b3cc9cc3574eb4bb8a682525e4e2
sha512=f38d53ba07ed77d39c1e92864506ebc7daab0321c8fc2709660c7a55bb43de82af56571d827cbc03443c1b5ccb3a898f6a2163d32d9c5c52b5f4e36507b56969

CHANGES.md.html

3.0.0 (2021-05-15)

  • Use new Mirage signatures (#66 from @talex5)

  • Better dune lower bound from @mseri (#65)

  • Use new Cstruct.length (#67 from @djs55)

2.0.0 (2020-11-10)

  • Major API change: everything is now nested inside Hvsock, Hvsock_lwt and Hvsock_lwt_unix to minimise namespace pollution.

  • Add support for macOS via hyperkit as used in Docker for Mac

  • Add support for Linux via AF_VSOCK

  • Add test suite

  • Build with dune (was jbuilder)

  • Example program hvcat works on Mac, Windows and Linux

  • Require base64 >= 3.0.0

1.0.3 (2018-09-10)

  • Fix accept()

  • Fix warnings with jbuilder --dev

1.0.2 (2018-06-14)

  • Remove unnecessary dependency on Bos

  • Require lwt 3.2.0 and later following the removal of lwt.preemptive

1.0.1 (2017-09-15)

  • Move the Unix-independent module Lwt_hvsock_main_thread to hvsock.lwt rather than hvsock.lwt-unix. Note there is a dependency from hvsock.lwt-unix to hvsock.lwt so no user code needs to be adjusted.

1.0.0 (2017-07-04)

  • Port to Jbuilder

  • Minimum OCaml version is now 4.03.0

0.14.0 (2017-04-24)

  • Update to MirageOS 3 (#51, @samoht)

0.13.0 (2017-01-20):

  • use scatter-gather I/O to minimise system calls

  • spawn a pair of blocking read/write threads, using a fixed amount of buffer

  • switch to Lwt_preemptive.detach: 2x faster than Lwt_stream + run_in_main

  • attempt to minimise the number of calls of Lwt_preemptive.detach

0.12.0 (2017-01-11):

  • use a blocking connect by default, rather than a 300ms delay

  • drop the OCaml heap lock in the non-blocking connect

  • run the connect function in a background thread

  • add appveyor and status badges

0.11.1 (2016-11-23):

  • make connection fail within 300ms rather than 30ms to work better on virtualised systems

0.11.0 (2016-11-14):

  • make connection fail within 30ms rather than 1s

  • increase test coverage with more distros

0.10.0 (2016-07-25):

  • major bug fixes in the Flow_lwt_hvsock_shutdown module

  • extra robustness in case of unexpected errors from the Win32 API

0.9.0 (2016-07-14):

  • Fix the signatures of the hvsock C stubs to include unit arg.

0.8.1 (2016-07-11)

  • Fix build on OCaml 4.03

  • Add an hvsock.lwt-unix subpackage for users of Lwt_unix

0.8 (2016-06-30)

  • Increase flow buffer size to 4KiB from 1KiB

  • Use Cstruct.t internally rather than marshalling to/from Byte.t

  • Functorise to make compatible with Uwt as well as Lwt_unix

0.7 (2016-06-13)

  • Treat unexpected read or write errors as Eof in FLOW`

  • Treat unexpected shutdown_read and shutdown_write errors as Eof

  • Clarify/add/update copyright headers in source files

0.6 (2016-05-25)

  • Add a simple protocol with shutdown read, write and close

0.5 (2016-05-21)

  • Bump Linux AF_HYPERV to 43

  • Use one RX and one TX thread per connection

  • Acquire the runtime lock before calling uerror

  • Implement Lwt_hvsock.listen (untested)

0.4 (2016-05-12)

  • Add an implementation of V1_LWT.FLOW

0.3 (2016-05-12)

  • Avoid running out of Lwt_preemptive thread pool threads

0.2 (2016-05-12)

  • Work around connect() blocking forever

0.1 (2016-05-12)

  • Initial release

OCaml

Innovation. Community. Security.