MagicStack / MagicStack/uvloop
UDPTransport returning when data is empty
Personne n'a encore pris cette issue.
- Langage dominant
- Cython
- Étoiles
- 11.9k
- Forks
- 616
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
* **uvloop version**:
* **Python version**: <3.13
* **Platform**: MacOS
* **Can you reproduce the bug with `PYTHONASYNCIODEBUG` in env?**:
* **Does uvloop behave differently from vanilla asyncio? How?**: There is a change made in CPython 3.13 to remove this behaviour.
The Datagram transport in both `asyncio.DatagramTransport` and `uvloop.UDPTransport` will return and ignore calls to `sendto` if the data is empty. This prohibits users from sending zero-length datagrams.
The behaviour will be removed in CPython 3.13 (see https://github.com/python/cpython/issues/113812). Note that the public API in `uvloop` references the Python `asyncio` behaviour.
https://github.com/MagicStack/uvloop/blob/6c770dc3fbdd281d15c2ad46588c139696f9269c/uvloop/handles/udp.pyx#L284-L286
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par les lignes 284-286 de uvloop/handles/udp.pyx, où UDPTransport retourne actuellement lorsque les données sont vides, et comparez la modification référencée de CPython 3.13. Le travail est terminé lorsque sendto n’ignore plus les datagrammes de longueur nulle, tout en préservant le comportement documenté du transport asyncio.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- networking
- Type d'issue
- Bug
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Activité
- À l'abandon
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 42/100