package happy-eyeballs
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=811f6ae09fc39d8273f2862693fc32d7b87817ac316e595b6bf824a2be62d674
sha512=2f95af7a3e1e899d0423411d028aaaa0179c73c9e632aaf7153a617fcca8630d66cae2802db9ee3b6b0faf9f1d3ed565db9decbae5706ed706632904400bd81b
Description
Happy eyeballs is an implementation of RFC 8305 which specifies how to connect to a remote host using either IP protocol version 4 or IP protocol version 6. This is the core of the algorithm in value passing style, with a slick dependency cone.
Published: 05 Dec 2022
README
happy eyeballs -- connecting to a remote host
RFC 8305 describes how to connect to a remote host, given that the host may have multiple addresses (IPv4 and IPv6, via DNS A and AAAA resource records), and the local host may have connectivity via IPv4 only, IPv6 only, or both. The preference is to use IPv6.
This package implements the given RFC in its core (Happy_eyeballs module). In addition, the Happy_eyeballs_lwt is a Lwt implementation using Unix.
The implemented state machine is kept in-sync with the code (source: happy_eyeballs.dot at the root of this repository).
It is licensed under the ISC license.
Installation
opam install happy-eyeballs happy-eyeballs-lwt happy-eyeballs-mirage
Development
Since dns-client depends on happy-eyeballs and happy-eyeballs-lwt, happy-eyeballs-mirage depend on dns-client, the dune build system is easily confused. A workaround is after a git clone
of happy-eyeballs, do an opam source dns-client
. Then dune will use the local dns-client package, and there will be no circularity issue.
Dependencies (7)
Dev Dependencies
None
Used by (7)
-
dns-client
= "6.4.1"
-
dns-client-lwt
< "7.0.3"
-
dns-client-mirage
< "7.0.3"
-
git-mirage
>= "3.7.0"
-
happy-eyeballs-lwt
= "0.4.0"
-
happy-eyeballs-mirage
= "0.4.0"
-
miou
< "0.1.0"
Conflicts
None