1.5 KiB
1.5 KiB
Plan: libcomm + libtask 公共库分析
目标
分析 src/public/libcomm/ 和 src/public/libtask/ 两个公共库,形成文档并指出优缺点。
步骤
T1: 保存 plan
- 存入
mimo/plan/libcomm与libtask分析.md
T2: 撰写 libcomm 模块分析
- 输出:
mimo/工程/libcomm模块分析.md - 覆盖:
- 统一通信抽象层架构(stru_comm + 工厂模式 + 类型分发)
- TCP 客户端/服务端实现(非阻塞 connect + select 事件循环)
- UART 实现(termios 配置 + send 被注释的分析)
- UDP 实现
- fd 类型检测工具(get_fd_type / get_fd_info)
- 调试数据包 hex dump(含颜色)
- 优点: 统一接口、自动重连、调试开关、fd 诊断
- 缺点: TCP 客户端空轮询 CPU、UART send 缺失、无内存释放、void* 类型不安全
T3: 撰写 libtask 模块分析
- 输出:
mimo/工程/libtask模块分析.md - 覆盖:
- 三个子系统:Event / MessageQueue / Timer
- Event: pthread_cond 事件标志(AND/OR/CLEAR/超时)
- MessageQueue: 环形缓冲区 + 长度头编码
- Timer: POSIX timer_create(SIGEV_THREAD) 单次/周期
- 引用计数销毁机制
- 优点: 纯 C + POSIX、零外部依赖、完备的超时支持、双条件 AND/OR
- 缺点: timer 回调线程不安全、msg_queue 满写直接丢弃、事件无优先级
验证
- 确认
mimo/工程/libcomm模块分析.md与mimo/工程/libtask模块分析.md已创建 - 检查文档包含优缺点章节