// the find
acl-dev/acl
C/C++ server and network library, including coroutine,redis client,http/https/websocket,mqtt, mysql/postgresql/sqlite client with C/C++ for Linux, Android, iOS, MacOS, Windows, Harmony,etc..
Acl is a C/C++ network and server library that has been in development for well over a decade, targeting everything from Linux servers to Android, iOS, and HarmonyOS. It bundles HTTP, Redis client, MQTT, coroutines, SMTP, database abstractions, and a Postfix-derived process manager into a single monolithic library. The target audience is C/C++ developers who want a batteries-included foundation for network services without pulling in multiple separate libraries.
The coroutine implementation is genuinely mature — it hooks system IO APIs at the OS level (read/write/accept/connect/gethostbyname) so existing blocking code runs in a fiber context without modification, which is a real engineering feat that most coroutine libraries don't attempt. The Redis client handles cluster slot rebalancing automatically without manual reconfiguration, which saves a real operational headache. Cross-platform breadth is unusually wide: the same codebase compiles for Linux epoll, Windows IOCP, kqueue, and mobile NDK builds, with actual maintained Xcode and Android Studio project files. The server framework derives from Postfix's master process design, meaning process lifecycle and respawning have been battle-tested in production mail infrastructure for years.
The library is essentially Chinese-ecosystem software with an English README translated after the fact — the blog, QQ group, and Gitee mirror are the real support channels, which makes debugging obscure issues hard for anyone outside that community. There is no HTTP/2 support and the directory tree explicitly marks h2/ and h3/ as 'to be implemented', so if you need modern HTTP you're stuck patching TLS and using HTTP/1.1. The unified database abstraction loads drivers via dlopen at runtime, which means your linker won't catch missing symbols at build time and deployment errors surface at runtime. The codebase carries Visual Studio solution files going back to VS2003, which signals long-tail compatibility constraints that likely slow modernization of the C++ core.