WebServer
TinyWebServer 是一个用 C++14 从零构建的 Web 服务器,适用于学习 Linux 网络编程、I/O 多路复用、并发模型与 HTTP 协议实现。
### 核心技术
| 技术点 | 实现 |
|--------|------|
| **I/O 多路复用** | epoll (ET/LT 可切换) |
| **并发模型** | Reactor + 半同步/半反应堆 (HSHA) |
| **线程池** | 固定大小线程池 + 条件变量 + shared_ptr 安全设计 |
| **HTTP/1.1** | 手写状态机解析器 + Keep-Alive 长连接 |
| **零拷贝** | mmap 内存映射文件传输 + writev 集中写 |
| **定时器** | 小根堆 (二叉堆 + 哈希索引) O(log n) 超时管理 |
| **数据库** | MySQL 连接池 + RAII 守卫 + SQL 注入防护 |
| **日志** | 异步日志系统 (生产者-消费者 BlockDeque) + 日期/行数切分 |
| **缓冲区** | 用户态 Buffer (readv 分散读 + 动态扩容 + 原子指针) |
物联网