-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Unknown
-
Affects Version/s: None
-
Component/s: 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 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.
- is related to
-
PYTHON-4539 Async pymongo fails with SSLContext object has no attribute a_wrap_socket
- Closed
-
PYTHON-4724 Document the behavior of using an async client across multiple event loops
- Backlog
-
PYTHON-4770 Improve CPU overhead of async locks and latency on Windows TLS sendall
- Backlog