Skip to content

路线图与 TODO

查看 Markdown

当前实现包含 TCP、UDP/cast、WebSocket、HTTP/1.0 与 HTTP/1.1、路由、 RUDP 与 ARQ/可选 FEC、原生单节点 MySQL 和 Redis 客户端、定时器/重连,以及可选的 TLS/HTTPS/WSS/mTLS。下面的 TODO 尚未提供占位 API, 也没有承诺发布日期。

已实现能力的吞吐量、p99 图表、模型对照和测试机器配置见 本地性能报告。

协议与传输状态

能力 状态 实现范围与验收
RUDP FEC 包含在 v0.1.0 仅 ARQ、固定与自适应 Reed–Solomon 策略,带版本的协商、MTU 预算、有界解码与分组过期。FEC 需要兼容对端;仍支持旧 ARQ 会话。见 FEC 策略与生产验收。
HTTP/2 TODO,依赖选型待定 client/server/session、TLS ALPN h2、h2c prior knowledge、HPACK、多路复用、流与连接流控、有界头部/body、取消和 GOAWAY;独立对端互通及慢消费者测试。
HTTP/3 TODO,调研阶段 选择 QUIC 传输和 QPACK 实现;TLS 1.3、流上限、拥塞/丢包处理、连接迁移策略和独立对端互通。
Named pipe TODO Windows 本地 client/server、消息/字节语义、overlapped IO、访问权限、取消与重启。
Unix domain socket TODO 本地 stream client/server、路径所有权与清理、权限、取消与重启;平台特有的 abstract namespace 和 datagram 单独选型。
RPC TODO 与传输解耦的拆包和编解码、请求 ID、截止时间、取消、有界未完成请求和错误传播。
Redis Cluster、Sentinel 与 Pub/Sub TODO 拓扑发现、重定向与订阅专用回复处理;独立服务端互通与异常路径测试。
公开协程 API TODO 可等待的连接/读/写、生命周期与取消;用 IO 和 CPU 负载比较共享与分片执行器。
WebSocket 压缩 TODO permessage-deflate 协商、解压后上限和恶意帧测试。
DTLS TODO 选择可用引擎,定义对端身份、重传和数据报上限。

HTTP 引擎边界

Boost.Beast 提供 HTTP/1 和 WebSocket,不提供 HTTP/2 或 HTTP/3。修改消息的 HTTP 版本字段 不会增加 HTTP/2 帧协议或 HTTP/3 传输。

nghttp2 是 HTTP/2 协议引擎的候选方案。采用时会增加可选的编译库依赖, arknet 的 C++ 封装仍可保持 header-only;本版没有引入 nghttp2。 HTTP/3 需要 QUIC/QPACK 协议栈,具体引擎与依赖形式待定。现有 Beast HTTP/1 传输继续独立使用。

数据库客户端

原生单节点 MySQL 与 Redis 客户端提供认证、验证证书的 TLS、连接池独占租约、时限与请求限额。 数据库客户端指南说明失败处理与所有权约定。 Redis Cluster、Sentinel、Pub/Sub 和公开数据库协程接口仍为 TODO。 ark 插件接入需另行完成应用回归与关闭流程验证。

后续范围

RUDP 与 C++20 ARQ 核心包含在 v0.1.0 中。 FEC 策略说明固定与自适应预设、启用阈值与资源限制。 版本中包含 KCP 消息模式互通、重试与队列限额及本地测量。ARK 的 RDP 流程已通过 ARK PR #38 使用 arknet;生产时长验证 仍需在部署验收中完成。

MQTT 和 proxy 暂无开发计划,出现具体使用方与验收要求后再评估。 ARK 接入采用直接替换调用方与业务回归;生产部署前完成部署验收。

Navigation

Type to search…

↑↓ navigate↵ selectEsc close