This repository was archived by the owner on Sep 13, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 23
This repository was archived by the owner on Sep 13, 2024. It is now read-only.
Missing event loop features from Python 3.7+ #58
Copy link
Copy link
Open
Labels
enhancementNew features, or improvements to existing features.New features, or improvements to existing features.
Description
Is your feature request related to a problem? Please describe.
gbulb has not kept up with any newer features introduced by asyncio since Python 3.7 – some of these work anyways since they are provided by asyncio.BaseEventLoop, but some are just plain missing or are broken.
Describe the solution you'd like
Somebody has to implement that stuff, but at the very least it should be documented. (What I’m doing here… 😉)
Additional context
Here’s the list of what’s missing/broken (possibly incomplete of course):
-
loop.create_unix_connection&loop.create_unix_server(Python 3.5+?) appear to be absent, although they have always been present inasyncio -
loop.sendfile&loop.sock_sendfile(Python 3.7+) – unless the fallback parameter is set to False these will work, but actually use an emulation based on repeatedread/writecalls also used on Windows and for TLS sockets on all platforms (so they’re kinds pointless withgbulb) -
loop.sock_recv_into& the accompanying support forBufferedProtocol(Python 3.7+) – plain missing,BufferedProtocolinstances are mistaken for plainProtocolinstances and cause crashes -
TimerHandle(Python 3.7+) –gbulbactually returns aGLibHandleinstance in all cases that derives fromHandle, so it’s really just missing the.when()method for objects returned fromloop.call_laterandloop.call_at -
loop.sock_recvfrom,loop.sock_recvfrom_into&loop.sock_sendto(Python 3.11+) – missing
Metadata
Metadata
Assignees
Labels
enhancementNew features, or improvements to existing features.New features, or improvements to existing features.