-
-
Notifications
You must be signed in to change notification settings - Fork 24
Missing event loop features from Python 3.7+ #58
Comments
It seems to me these needs point up flaws in the existing |
@ldo: That is unfortunately incorrect. Some new things where actually inherited by the Background: The readiness-based I/O predominantly used on Unix platforms would allow the |
Core Isn’t Windows supposed to be POSIX-compatible? |
I think Windows was POSIX-compatible for a very old version of POSIX; and even then it was a bit less than the bare minimum; they made "Services for Unix" to advertise POSIX, so the POSIXness isn't even in the Windows bit that matters (SFU isn't even a thing any more anyway). |
Is your feature request related to a problem? Please describe.
gbulb
has not kept up with any newer features introduced byasyncio
since Python 3.7 – some of these work anyways since they are provided byasyncio.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
/write
calls 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,BufferedProtocol
instances are mistaken for plainProtocol
instances and cause crashesTimerHandle
(Python 3.7+) –gbulb
actually returns aGLibHandle
instance in all cases that derives fromHandle
, so it’s really just missing the.when()
method for objects returned fromloop.call_later
andloop.call_at
loop.sock_recvfrom
,loop.sock_recvfrom_into
&loop.sock_sendto
(Python 3.11+) – missingThe text was updated successfully, but these errors were encountered: