Asynchronous variant of MongoDB C Driver
Add async API on the C Driver.

-
Here's the related forum thread for reference - https://www.mongodb.com/community/forums/t/why-not-supply-async-api-in-mongo-c-driver/16260.
-
Arran commented
Just to mirror my comments from the original forum post. For us, this is less about pure performance, and more about fitting MongoDB into our event driven framework. With FreeRADIUS each operating system thread processes thousands of requests in "parallel", with each request having its own call stack, and yielding back to the interpreter for any I/O. For FreeRADIUS v4 (the upcoming release), modules with blocking I/O are either being removed from the codebase (Firebird, DB2, FreeTDS), or moved out from the main worker threads to run in their own thread pools. These separate thread pools add a large performance penalty and increases code complexity.