Skip to content
This repository was archived by the owner on Sep 13, 2024. It is now read-only.
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

@ntninja

Description

@ntninja

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 in asyncio
  • 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 repeated read/write calls also used on Windows and for TLS sockets on all platforms (so they’re kinds pointless with gbulb)
  • loop.sock_recv_into & the accompanying support for BufferedProtocol (Python 3.7+) – plain missing, BufferedProtocol instances are mistaken for plain Protocol instances and cause crashes
  • TimerHandle (Python 3.7+) – gbulb actually returns a GLibHandle instance in all cases that derives from Handle, so it’s really just missing the .when() method for objects returned from loop.call_later and loop.call_at
  • loop.sock_recvfrom, loop.sock_recvfrom_into & loop.sock_sendto (Python 3.11+) – missing

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew features, or improvements to existing features.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions