This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Title: Wrong base class for transport returned by loop.create_datagram_endpoint()
Type: Stage: patch review
Components: asyncio Versions: Python 3.11, Python 3.10, Python 3.9, Python 3.8
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: asvetlov, carlosdamazio, dmzz, yselivanov
Priority: normal Keywords: patch

Created on 2021-12-29 14:56 by asvetlov, last changed 2022-04-11 14:59 by admin.

Pull Requests
URL Status Linked Edit
PR 30291 open dmzz, 2021-12-29 17:36
Messages (2)
msg409309 - (view) Author: Andrew Svetlov (asvetlov) * (Python committer) Date: 2021-12-29 14:56
Selector-based event loops returns `_SelectorDatagramTransport` which inherits `asyncio.Transport` instead of `asyncio.DatagramTransport`.

isinstance(transp, asyncio.DatagramTransport) fails.
It doesn't affect the actual execution since `transp.sendto()` and `transp.error_received()` are correctly implemented.

The bug doesn't affect Windows proactor-based implementation.

The fix is relatively easy, a champion is welcome!
msg409326 - (view) Author: Carlos Damazio (carlosdamazio) * Date: 2021-12-29 20:44
I think I have a fix for this, I opened a PR. Let me know if you have any questions.
Date User Action Args
2022-04-11 14:59:53adminsetgithub: 90352
2021-12-29 20:44:28carlosdamaziosetnosy: + carlosdamazio
messages: + msg409326
2021-12-29 17:36:03dmzzsetkeywords: + patch
nosy: + dmzz

pull_requests: + pull_request28505
stage: patch review
2021-12-29 14:56:23asvetlovcreate