Skip to content

Commit

Permalink
[new release] happy-eyeballs, happy-eyeballs-mirage and happy-eyeball…
Browse files Browse the repository at this point in the history
…s-lwt (0.6.0)

CHANGES:

* Fix connection establishment: parallelize connection attempts, deal with
  servers dropping packets (such as the Azure DNS resolver)
* Introduce connect_delay (when to start the next connection attempt)
* Deal with connect_timeout properly
* Revise log output (IP vs domain name, fewer logs on debug level)

All in robur-coop/happy-eyeballs#34, @hannesm, reviewed by @reynir -- sponsored by Semgrep Inc
  • Loading branch information
hannesm committed Jun 15, 2023
1 parent a27c93d commit f5b06ab
Show file tree
Hide file tree
Showing 3 changed files with 129 additions and 0 deletions.
43 changes: 43 additions & 0 deletions packages/happy-eyeballs-lwt/happy-eyeballs-lwt.0.6.0/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
opam-version: "2.0"
maintainer: "Robur <[email protected]>"
authors: ["Robur <[email protected]>"]
homepage: "https://github.com/roburio/happy-eyeballs"
dev-repo: "git+https://github.com/roburio/happy-eyeballs.git"
bug-reports: "https://github.com/roburio/happy-eyeballs/issues"
doc: "https://roburio.github.io/happy-eyeballs/"
license: "ISC"

depends: [
"ocaml" {>= "4.08.0"}
"dune" {>= "2.0.0"}
"happy-eyeballs" {=version}
"cmdliner" {>= "1.1.0"}
"duration"
"dns-client-lwt" {>= "7.0.0"}
"domain-name"
"ipaddr"
"fmt"
"logs"
"lwt"
"mtime" {>= "1.0.0"}
]
build: [
["dune" "subst"] {dev}
["dune" "build" "-p" name "-j" jobs]
]

synopsis: "Connecting to a remote host via IP version 4 or 6 using Lwt_unix"
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 uses Lwt and Lwt_unix for side effects.
"""
url {
src:
"https://github.com/roburio/happy-eyeballs/releases/download/v0.6.0/happy-eyeballs-0.6.0.tbz"
checksum: [
"sha256=e587908776ac52603740363efd625b0767162521ab2d63b745e64056184c0429"
"sha512=2de6632aa32eea4ca865747fad7db1043baca8f9e14ab798224873926636d11c233c3c093237222118731a5dd00a0de804c3942bfe003f18c8f2c39159883018"
]
}
x-commit-hash: "f744de78a274e777c8b761a6fb229f62dfd422a0"
46 changes: 46 additions & 0 deletions packages/happy-eyeballs-mirage/happy-eyeballs-mirage.0.6.0/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
opam-version: "2.0"
maintainer: "Robur <[email protected]>"
authors: ["Robur <[email protected]>"]
homepage: "https://github.com/roburio/happy-eyeballs"
dev-repo: "git+https://github.com/roburio/happy-eyeballs.git"
bug-reports: "https://github.com/roburio/happy-eyeballs/issues"
doc: "https://roburio.github.io/happy-eyeballs/"
license: "ISC"

depends: [
"ocaml" {>= "4.08.0"}
"dune" {>= "2.0.0"}
"happy-eyeballs" {=version}
"duration"
"dns-client" {>= "7.0.0"}
"dns-client-mirage" {>= "7.0.0"}
"domain-name"
"ipaddr"
"fmt"
"logs"
"lwt"
"mirage-clock" {>= "3.0.0"}
"tcpip" {>= "7.0.0"}
"mirage-random" {>= "2.0.0"}
"mirage-time" {>= "2.0.0"}
]
build: [
["dune" "subst"] {dev}
["dune" "build" "-p" name "-j" jobs]
]

synopsis: "Connecting to a remote host via IP version 4 or 6 using Mirage"
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 uses Lwt and Mirage for side effects.
"""
url {
src:
"https://github.com/roburio/happy-eyeballs/releases/download/v0.6.0/happy-eyeballs-0.6.0.tbz"
checksum: [
"sha256=e587908776ac52603740363efd625b0767162521ab2d63b745e64056184c0429"
"sha512=2de6632aa32eea4ca865747fad7db1043baca8f9e14ab798224873926636d11c233c3c093237222118731a5dd00a0de804c3942bfe003f18c8f2c39159883018"
]
}
x-commit-hash: "f744de78a274e777c8b761a6fb229f62dfd422a0"
40 changes: 40 additions & 0 deletions packages/happy-eyeballs/happy-eyeballs.0.6.0/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
opam-version: "2.0"
maintainer: "Robur <[email protected]>"
authors: ["Robur <[email protected]>"]
homepage: "https://github.com/roburio/happy-eyeballs"
dev-repo: "git+https://github.com/roburio/happy-eyeballs.git"
bug-reports: "https://github.com/roburio/happy-eyeballs/issues"
doc: "https://roburio.github.io/happy-eyeballs/"
license: "ISC"

depends: [
"ocaml" {>= "4.08.0"}
"dune" {>= "2.0.0"}
"duration"
"domain-name" {>= "0.2.0"}
"ipaddr" {>= "5.2.0"}
"fmt" {>= "0.8.7"}
"logs"
]
build: [
["dune" "subst"] {dev}
["dune" "build" "-p" name "-j" jobs]
]

synopsis: "Connecting to a remote host via IP version 4 or 6"
description: """
Happy eyeballs is an implementation of
[RFC 8305](https://datatracker.ietf.org/doc/html/rfc8305) 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.
"""
url {
src:
"https://github.com/roburio/happy-eyeballs/releases/download/v0.6.0/happy-eyeballs-0.6.0.tbz"
checksum: [
"sha256=e587908776ac52603740363efd625b0767162521ab2d63b745e64056184c0429"
"sha512=2de6632aa32eea4ca865747fad7db1043baca8f9e14ab798224873926636d11c233c3c093237222118731a5dd00a0de804c3942bfe003f18c8f2c39159883018"
]
}
x-commit-hash: "f744de78a274e777c8b761a6fb229f62dfd422a0"

0 comments on commit f5b06ab

Please sign in to comment.