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

Use asyncio streams instead of sockets for network IO

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Unknown Unknown
    • 4.11
    • Affects Version/s: None
    • Component/s: None
    • None
    • Python Drivers
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?

      Context

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

      Definition of done

      Investigate asyncio streams 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: