MagicStack / MagicStack/uvloop
UDPTransport returning when data is empty
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Cython
- Sterne
- 11.9k
- Forks
- 615
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
- uvloop version:
- Python version: <3.13
- Platform: MacOS
- Can you reproduce the bug with
PYTHONASYNCIODEBUGin 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.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne bei den Zeilen 284–286 in uvloop/handles/udp.pyx, wo UDPTransport derzeit bei leeren Daten zurückkehrt, und vergleiche die referenzierte Änderung in CPython 3.13. Erledigt ist die Aufgabe, wenn sendto Zero-Length-Datagramme nicht mehr ignoriert und dabei das dokumentierte Verhalten des asyncio-Transports beibehalten wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- networking
- Issue-Typ
- Bug
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 42/100