A small asynchronous application framework based on Boost/Asio, with components that can be reused accross different projects.
Requires C++20.
It is divided in packages depending on the type of functionality offered:
kouta::base
): Provides the basic building blocks for the application (event loop access and callbacks)kouta::io
): Provides I/O related functionalitykouta::utils
): Provides useful utilitiesKouta requires the following libraries:
3.18
1.74.0
1.18.0
(if standalone Asio is used via the KOUTA_STANDALONE_ASIO
option)The library can be built statically or as a shared library (configurable via the KOUTA_BUILD_SHARED
). In addition, there are targets exposing a header-only interface, which may be identified by the suffix -header
.
Documentation can be built with Doxygen:
The resulting HTML documentation can be found in docs/html
.
Tests are implemented using GoogleTest and can be compiled after enabling the KOUTA_BUILD_TESTS
option in CMake
The above command will result in the binaries build/tests/kouta-tests
and build/tests/kouta-tests-header
respectively, which can be executed to run all the test cases.