# 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 满写直接丢弃、事件无优先级 --- ## 验证 1. 确认 `mimo/工程/libcomm模块分析.md` 与 `mimo/工程/libtask模块分析.md` 已创建 2. 检查文档包含优缺点章节