Uploaded image for project: 'Python Driver'
  1. Python Driver
  2. PYTHON-4493

Use asyncio protocols instead of sockets for network IO

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Unknown Unknown
    • 4.12
    • Affects Version/s: None
    • Component/s: async
    • None
    • Python Drivers
    • Not Needed
    • None
    • None
    • None
    • None
    • None
    • None

      Context

      Our async IO currently uses non-blocking sockets to match as closely as possible to the synchronous API. We should investigate using asyncio transports/protocols instead, which are asyncio's fastest interface for network IO.

      Definition of done

      Investigate asyncio transports/protocols and migrate our asynchronous code to use them, if compatible with our use case.

      Pitfalls

      Using a different networking implementation for the asynchronous API will require additional complexity in our synchronization system, as the two APIs will no longer share a common network layer.

            Assignee:
            noah.stapp@mongodb.com Noah Stapp
            Reporter:
            noah.stapp@mongodb.com Noah Stapp
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:
              None
              None
              None
              None