Learning async reactors and modern C++.
- CMake
>= 3.26 - A C++23 compiler (
clang++org++) git(CMakeFetchContentpulls dependencies from GitHub)pthreadsupport (standard on Linux; not actually used but required for build)
From the repository root:
cmake -S . -B build
cmake --build build -j 4Notes:
- If
CMAKE_BUILD_TYPEis not set, this project defaults toDebug. - First configure/build may take longer because dependencies are downloaded.
Run all discovered tests:
ctest --test-dir build --output-on-failureRun tests matching a pattern:
ctest --test-dir build -R table --output-on-failureRun a single test binary directly:
./build/cards_tests- Add action timeouts on the server side (support exists via table)
- Fuzz test inputs
- Factor out
epollcode into some sort of small library - Support
io_uringas a drop-in replacement forepoll - Performance test
epollagainstio_uring - Persist player purses across server restart and client sessions, and have the server remember client identities somehow (e.g. cookie persisted on client)
- Use
std::metato write theproto_translatelayer when it comes out