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

Created on 2018-05-16 02:56 by twisteroid ambassador, last changed 2018-05-30 05:59 by twisteroid ambassador.

Pull Requests
URL Status Linked Edit
PR 7097 closed twisteroid ambassador, 2018-05-24 12:43
PR 7237 open twisteroid ambassador, 2018-05-30 05:59
Messages (1)
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?
History
Date User Action Args
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