classification
Title: Implement Happy Eyeball in asyncio
Type: enhancement Stage: resolved
Components: asyncio Versions: Python 3.8
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: Yury.Selivanov, asvetlov, miss-islington, njs, twisteroid ambassador, yselivanov
Priority: normal Keywords: patch

Created on 2018-05-16 02:56 by twisteroid ambassador, last changed 2019-05-05 11:15 by asvetlov. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 7097 closed twisteroid ambassador, 2018-05-24 12:43
PR 7237 merged twisteroid ambassador, 2018-05-30 05:59
Messages (2)
msg316757 - (view) Author: twisteroid ambassador (twisteroid ambassador) * Date: 2018-05-16 02:56
Add a Happy Eyeballs implementation to asyncio, based on work in https://github.com/twisteroidambassador/async_stagger .

Current plans:

- Add 2 keyword arguments to loop.create_connection and asyncio.open_connection.

    * delay: Optional[float] = None. None disables happy eyeballs. A number >= 0 means the delay between starting new connections.

    * interleave: int = 1. Controls reordering of resolved IP addresses by address family.

- Optionally, expose the happy eyeballs scheduling helper function. 

    * It's currently called "staggered_race()". Suggestions for a better name welcome.

    * Should it belong to base_events.py, some other existing file or a new file?
msg341427 - (view) Author: miss-islington (miss-islington) Date: 2019-05-05 11:14
New changeset 88f07a804a0adc0b6ee87687b59d8416113c7331 by Miss Islington (bot) (twisteroid ambassador) in branch 'master':
bpo-33530: Implement Happy Eyeballs in asyncio, v2 (GH-7237)
https://github.com/python/cpython/commit/88f07a804a0adc0b6ee87687b59d8416113c7331
History
Date User Action Args
2019-05-05 11:15:57asvetlovsetstatus: open -> closed
resolution: fixed
stage: patch review -> resolved
2019-05-05 11:14:49miss-islingtonsetnosy: + miss-islington
messages: + msg341427
2018-05-30 05:59:06twisteroid ambassadorsetpull_requests: + pull_request6867
2018-05-24 14:39:32vstinnersetnosy: + njs
2018-05-24 12:43:06twisteroid ambassadorsetkeywords: + patch
stage: patch review
pull_requests: + pull_request6733
2018-05-16 02:56:28twisteroid ambassadorcreate