package happy-eyeballs

  1. Overview
  2. Docs
Connecting to a remote host via IP version 4 or 6

Install

Dune Dependency

Authors

Maintainers

Sources

happy-eyeballs-0.1.2.tbz
sha256=8bb198a62fd5346649fb5fc3c6812cd5b4197d10d36f8309228bed5e7e63d442
sha512=c83d890305a742d16ace76c6bed285e7a5b21e521a29d7360f7f8fe5217bcb28e1a79ee8f54319cf5aafdc3be1cfcfb932098808613e4dd1d55a6aac8e19d0b4

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: 22 Dec 2021

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

Dependencies (7)

  1. logs
  2. fmt >= "0.8.7"
  3. ipaddr >= "5.2.0"
  4. domain-name >= "0.2.0"
  5. duration
  6. dune >= "2.0.0"
  7. ocaml >= "4.08.0"

Dev Dependencies

None

Used by (5)

  1. dns-client >= "6.0.2" & < "6.4.1"
  2. git-mirage >= "3.7.0"
  3. happy-eyeballs-lwt = "0.1.2"
  4. happy-eyeballs-mirage = "0.1.2"
  5. miou < "0.1.0"

Conflicts

None