1
0
Fork 0
mirror of https://gitlab.com/niansa/libcrosscoro.git synced 2025-03-06 20:53:32 +01:00
C++20 coroutine library
Find a file
Josh Baldwin bc3b956ed3
udp_peer! (#33)
* 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
2021-01-09 19:18:03 -07:00
.github/workflows libc-ares dns client for hostname -> ip addres lookups (#24) 2020-12-29 17:19:26 -07:00
inc/coro udp_peer! (#33) 2021-01-09 19:18:03 -07:00
src udp_peer! (#33) 2021-01-09 19:18:03 -07:00
test udp_peer! (#33) 2021-01-09 19:18:03 -07:00
vendor/c-ares libc-ares dns client for hostname -> ip addres lookups (#24) 2020-12-29 17:19:26 -07:00
.clang-format Issue 5/clang format (#6) 2020-10-14 08:53:00 -06:00
.gitignore Correctly implement sync_wait and when_all_awaitable (#8) 2020-10-25 20:54:19 -06:00
.gitmodules libc-ares dns client for hostname -> ip addres lookups (#24) 2020-12-29 17:19:26 -07:00
CMakeLists.txt udp_peer! (#33) 2021-01-09 19:18:03 -07:00
LICENSE Initial commit 2020-09-07 12:56:57 -06:00
Makefile Add tests for tasks that throw (#4) 2020-10-12 17:29:47 -06:00
README.md Add tests for tasks that throw (#4) 2020-10-12 17:29:47 -06:00

libcoro C++20 Coroutines

CI Coverage Status language license

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