diff options
author | Julian Andres Klode <jak@debian.org> | 2018-01-02 22:15:50 +0100 |
---|---|---|
committer | Julian Andres Klode <jak@debian.org> | 2018-01-03 15:31:36 +0100 |
commit | 3bbd328396745d0dd6c5585935040082a2c41e3e (patch) | |
tree | 6a3ddf1026c286cc528c04ae3bbb55ad653228d2 /vendor | |
parent | 53bdec3ebea66153b320ee497871355eb526e0f2 (diff) |
Add rapid "happy eyeballs" connection fallback (RFC 8305)
Try establishing connections in alternating address families in
rapid intervals of 250 ms, adding more connections to the wait
list until one succeeds (RFC 8305, happy eyeballs 2).
It is important that WaitAndCheckErrors() waits until it has
a successful connection, a time out, or all connections failed
- otherwise the timing between tries might be wrong, and the
final long wait might exit early because one connection failed
without trying the others. Timing wise, this only works correctly
on Linux, as select() counts down there. But we rely on that in
some other places too, so this is not the time to fix that.
Timeouts are only reported in the final long wait - the short
inner waits are expected to time out more often, and multiple
times, we do not want to report them.
Closes: #668948
LP: #1308200
Gbp-Dch: paragraph
Diffstat (limited to 'vendor')
0 files changed, 0 insertions, 0 deletions