Tez
An HTTP/1.1 server in C++, written by hand on top of Boost.Asio.
A web server where the protocol, routing, threading and caching are all written by hand — only the socket and event layer is delegated to Boost.Asio. The HTTP/1.1 request lifecycle, a hand-rolled thread pool, and an LRU cache, with no web framework above the I/O edge.
The hard part — Owning every layer that demonstrates systems understanding — manual parsing, a real concurrency model, persistent connections — without reinventing the async event loop that a production library already gets right.
- Manual HTTP/1.1 parsing, routing and response building — keep-alive, Content-Length, 400/413/431 limits — on top of Boost.Asio's io_context.
- Hand-rolled fixed-size thread pool (std::thread + queue + condition_variable, enqueue() returning std::future), sized to hardware_concurrency().
- Dual mutex-guarded LRU layer (response + file caches, 60s TTL) and RAII cleanup throughout — workers joined on shutdown, sockets lifetime-managed.
