diff --git a/.cocoon-plan.md b/.cocoon-plan.md index ecc0dc0..7189e94 100644 --- a/.cocoon-plan.md +++ b/.cocoon-plan.md @@ -75,16 +75,30 @@ 2. **[低] 性能优化** — 连接池复用、零拷贝优化、压缩预缓存 3. **[低] 配置文件 JSON Schema 验证** — 配置文件格式校验 4. **[低] 插件热重载** — 运行时重新加载插件(SIGUSR1 触发) -5. **[低] 插件配置文件数组支持** — `plugins` 字段支持多插件数组 ## 最近行动记录 +- 2026-06-06: **本轮行动 — 插件配置数组支持 + 杂项修复** + - `config.c`:极简 JSON 解析器新增 `[`/`]` token 类型,支持字符串数组解析 + - `plugins` 字段向后兼容单字符串 `"plugins.so"`,向前支持数组 `["a.so", "b.so"]` + - `.gitignore`:补全遗漏的 `tests/unit/test_websocket` 二进制 + - `Makefile`:补全 `test_log` 单元测试编译规则(缺失导致 `make unit-test` 失败) + - `cocoon.json`:示例配置改为数组格式 `"plugins": ["plugins/hello.so"]` + - `test_config.c`:新增 3 项测试(`test_load_plugins_string`、`test_load_plugins_array`、`test_load_plugins_array_multiple`) + - 全部 142 个单元测试 + 68 项集成测试通过,编译零警告 + - 推送到 main(2dc29d0) - 2026-06-06: **本轮行动 — 添加 WebSocket 单元测试** - 新增 `tests/unit/test_websocket.c`:12 项 WebSocket 协议单元测试 - 覆盖:帧解析(文本/二进制/关闭/空负载、掩码解掩码、16位/64位长度)、帧编码(文本/关闭/ping/pong)、握手验证(Sec-WebSocket-Accept)、粘包多帧解析、64KB 大负载、空负载边界 - 使用 socketpair 创建内部通信管道,无需真实网络依赖 - 全部 12 项测试通过,139 个单元测试 + 68 项集成测试全部通过 - 推送到 main(faedbd5) +- 2026-06-06: **本轮行动 — 实现动态插件系统(Phase 4 MVP)** + - 新增 `tests/unit/test_websocket.c`:12 项 WebSocket 协议单元测试 + - 覆盖:帧解析(文本/二进制/关闭/空负载、掩码解掩码、16位/64位长度)、帧编码(文本/关闭/ping/pong)、握手验证(Sec-WebSocket-Accept)、粘包多帧解析、64KB 大负载、空负载边界 + - 使用 socketpair 创建内部通信管道,无需真实网络依赖 + - 全部 12 项测试通过,139 个单元测试 + 68 项集成测试全部通过 + - 推送到 main(faedbd5) - 2026-06-06: **本轮行动 — 实现动态插件系统(Phase 4 MVP)** - `plugin.h` / `plugin.c`:基于 dlopen/dlsym 的插件加载器,最多8个插件,逆序卸载 - 插件接口:`cocoon_plugin_init()`(初始化)、`cocoon_plugin_shutdown()`(清理)、`cocoon_plugin_version()`(版本)