Happy Eyeballs (RFC 8305) connection establishment, I/O-free core
0

Configure Feed

Select the types of activity you want to include in your feed.

ocaml-happy-eyeballs / dune-project
2.0 kB 52 lines
1(lang dune 3.21) 2(using mdx 0.4) 3(name nox-happy-eyeballs) 4(source (github robur-coop/happy-eyeballs)) 5(license ISC) 6(authors 7 "Robur <team@robur.coop>" 8 "Hannes Mehnert <hannes@mehnert.org>" 9 "Thomas Gazagnaire <thomas@gazagnaire.org>") 10(maintainers 11 "Thomas Gazagnaire <thomas@gazagnaire.org>") 12 13(generate_opam_files true) 14(implicit_transitive_deps false) 15 16(package 17 (name nox-happy-eyeballs) 18 (synopsis "Happy Eyeballs (RFC 8305) connection establishment, I/O-free core") 19 (description 20 "WARNING: This is an experimental fork of happy-eyeballs. Do not use in production. Use happy-eyeballs instead: https://github.com/robur-coop/happy-eyeballs. An implementation of the Happy Eyeballs algorithm (RFC 8305): given a host with both IPv4 (A) and IPv6 (AAAA) addresses, race the candidate connections and prefer IPv6, so a slow or broken address family does not stall the connection. The core is in value-passing style and does no I/O: it takes time as a parameter and emits actions for an effectful layer to perform. Derived from robur-coop/happy-eyeballs; the nox-happy-eyeballs-eio package wires it onto Eio sockets.") 21 (tags (org:blacksun org:robur network)) 22 (depends 23 (ocaml (>= 4.14.0)) 24 (dune (>= 3.0)) 25 duration 26 (domain-name (>= 0.2.0)) 27 (ipaddr (>= 5.2.0)) 28 (fmt (>= 0.8.7)) 29 logs 30 (alcotest :with-test))) 31 32(package 33 (name nox-happy-eyeballs-eio) 34 (synopsis "Eio backend for nox-happy-eyeballs") 35 (description 36 "An Eio backend over the nox-happy-eyeballs connection state machine: a timer runs as a fiber and the connection candidates race as sibling fibers, with the losers cancelled as soon as one connects. Name resolution is injectable and defaults to Eio.Net.getaddrinfo; the caller can supply a pure-OCaml resolver instead.") 37 (tags (org:blacksun org:robur network eio)) 38 (depends 39 (ocaml (>= 5.1)) 40 (dune (>= 3.0)) 41 nox-happy-eyeballs 42 eio 43 ipaddr 44 domain-name 45 duration 46 fmt 47 logs 48 (alcotest :with-test) 49 (alcobar :with-test) 50 (eio_main :with-test) 51 (mdx :with-test) 52 eio-net))