mirror of
https://gitlab.com/niansa/libcrosscoro.git
synced 2025-03-06 20:53:32 +01:00
C++20 coroutine library
* udp_peer! I hope using the udp peer makes sense on how udp packets are sent and received now. Time will tell! * Fix broken benchmark tcp server listening race condition |
||
---|---|---|
.github/workflows | ||
inc/coro | ||
src | ||
test | ||
vendor/c-ares | ||
.clang-format | ||
.gitignore | ||
.gitmodules | ||
CMakeLists.txt | ||
LICENSE | ||
Makefile | ||
README.md |
libcoro C++20 Coroutines
libcoro is licensed under the Apache 2.0 license.
Background
Libcoro is a C++20 coroutine library. So far most inspiration has been gleaned from libcppcoro an amazing C++ coroutine library as well as Lewis Baker's great coroutine blog entries https://lewissbaker.github.io/. I would highly recommend anyone who is trying to learn the internals of C++20's coroutine implementation to read all of his blog entries, they are extremely insightful and well written.
Goal
Libcoro is currently more of a learning experience for myself but ultimately I'd like to turn this into a great linux coroutine base library with an easy to use HTTP scheduler/server.
Building
There is a root makefile with various commands to help make building and running tests on this project easier.
# Build targets
make debug|release-with-debug-info|release
# Run tests targets
make debug-test|release-with-debug-info-tests|release-tests
# Clean all builds.
make clean
# clang-format the code
make format