python / python/cpython

asyncio: ` IocpProactor.recvfrom_into() ` misnames its receive-size parameter as ` flags`

Offen
#157,418 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

OS-windows stdlib topic-asyncio type-bug
Vorherrschende Sprache
Python
Sterne
77.2k
Forks
35.9k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

Bug report

Bug description:

On Windows, IocpProactor.recvfrom_into() defines its third parameter as flags:

def recvfrom_into(self, conn, buf, flags=0):
    ...
    ov.WSARecvFromInto(conn.fileno(), buf, flags)

However, _overlapped.Overlapped.WSARecvFromInto() expects:

(handle, buf, size, flags=0)

so the value named flags is actually passed as size and used as the receive length (nbytes). The parameter is therefore misnamed and inconsistent with the surrounding APIs.

CPython versions tested on:

CPython main branch

Operating systems tested on:

No response

Linked PRs
  • gh-157422

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, IocpProactor.recvfrom_into() zu finden und den dritten Parameter mit _overlapped.Overlapped.WSARecvFromInto() zu vergleichen. Prüfe anschließend den verknüpften PR gh-157422 und verifiziere, dass die Parameternamen und die Verwendung der Empfangsgröße konsistent sind, ohne das flags-Argument zu ändern.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
networking
Issue-Typ
Bug
Schwierigkeit
1/5
Geschätzter Aufwand
Unter einer Stunde
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
30/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.