The event loop (src/loop.cc) is built directly on epoll, so macOS and the BSDs cannot run the native library at all (development on a Mac currently means a Lima VM).
The port surface is deliberately small: loop.cc and include/taut/loop.h wrap readiness notification behind one interface, and everything else (Session, codec, RTO, SimNet) is platform-independent. A kqueue backend behind the same interface would make the library genuinely cross-platform.
Acceptance: unit tests green on macOS, the echo demo (demo/echo_client.cc, demo/echo_server.cc) works cross-platform, no behavior change on Linux.
The event loop (src/loop.cc) is built directly on epoll, so macOS and the BSDs cannot run the native library at all (development on a Mac currently means a Lima VM).
The port surface is deliberately small: loop.cc and include/taut/loop.h wrap readiness notification behind one interface, and everything else (Session, codec, RTO, SimNet) is platform-independent. A kqueue backend behind the same interface would make the library genuinely cross-platform.
Acceptance: unit tests green on macOS, the echo demo (demo/echo_client.cc, demo/echo_server.cc) works cross-platform, no behavior change on Linux.