// the find
chenshuo/muduo
Event-driven network library for multi-threaded Linux server in C++11
Muduo is a reactor-pattern C++ network library for Linux, built around the one-loop-per-thread model with non-blocking I/O. It's primarily a teaching artifact — Chen Shuo wrote it alongside a book explaining every design decision. Serious C++ server developers in China have used it in production; elsewhere it's mostly studied.
The one-loop-per-thread design is clean and opinionated: no shared state between loops, no lock contention on the hot path. The examples directory is unusually good — echo, chat, sudoku, memcached clone, protobuf RPC — each demonstrating a real pattern rather than hello world. AsyncLogging uses a double-buffer scheme that keeps the I/O thread off the critical path, which is the right call. The base layer (Thread, BlockingQueue, CountDownLatch, Timestamp) is self-contained and well-tested independently of the networking layer.
Linux-only by design, but that's also just a hard wall — no macOS, no BSDs, nothing. The Boost dependency is embarrassingly thin: it's there solely for boost::any, which has been in the standard library since C++17. Nobody should be pulling in Boost for this in 2025. Active development has essentially stopped; the last real work was years ago and the repo shows no interest in modern C++ (no coroutines, no std::span, no C++20 anything). TLS support is absent entirely — you get plain TCP or you wire in OpenSSL yourself from scratch.