Iara: A Modern Framework for Asynchronous Programming in C++17
The article introduces Iara, a modular framework for composing asynchronous systems in C++17. It is designed to be portable, unopinionated, light, memory safe, and flexible. The framework consists of several core libraries and top-level glue code to connect them. The author acknowledges that Iara is a work in progress and is born out of the need to formalize existing libraries that have been successfully integrated into production environments. The available libraries in Iara are fully functional, well-tested, and well-documented. Some of the key libraries mentioned in the article are Fugax, which provides an event loop for asynchronous task execution, FUSS, an in-process pub/sub system, and Juro, which implements JavaScript promises with strong typing assurance. The article highlights the extensive testing and documentation of Fugax and the successful use of FUSS in commercial projects. The author also mentions future plans for the framework, including the development of a top-level application container. Overall, Iara offers developers a modern and flexible solution for asynchronous programming in C++17.