MagicStack / MagicStack/uvloop
Missing support for `interleave` and `happy_eyeballs_delay` in `create_connection`
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Cython
- Estrellas
- 11.9k
- Forks
- 616
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
- uvloop version: 0.15.2
- Python version: 3.8.5
- Platform: Ubuntu 20.04 amd64
- Can you reproduce the bug with
PYTHONASYNCIODEBUGin env?: Not tested. - Does uvloop behave differently from vanilla asyncio? How?: Yes, fails if
interleaveand/orhappy_eyeballs_delayis set withcreate_connection.
asyncio loop.create_connection supports the interleave and happy_eyeballs_delay keyword arguments to enable RFC 8305 "Happy Eyeballs" IPv6-to-IPv4 fallback since Python 3.8. The arguments are documented here: https://docs.python.org/3/library/asyncio-eventloop.html#asyncio.loop.create_connection
The corresponding function in uvloop does not accept these arguments. These would be nice to have because I'm working on a server that proxies requests to external third-party servers which occasionally have a broken IPv6 configuration and traditional connect timeout behavior causes quite a bit of delay.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza en el punto de entrada create_connection de uvloop y lee la documentación de asyncio loop.create_connection enlazada en el issue, centrándote en interleave y happy_eyeballs_delay. Compara los argumentos compatibles y el comportamiento, y verifica que ambas opciones se aceptan y proporcionan el comportamiento documentado de fallback de IPv6 a IPv4.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- api, networking
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100