2 个不稳定版本
0.2.0 | 2022 年 11 月 7 日 |
---|---|
0.1.2 | 2022 年 9 月 13 日 |
0.1.1 |
|
0.1.0 |
|
0.0.1 |
|
#3 在 #dap 中
在 daphne_worker 中使用
290KB
6.5K SLoC
达芙妮
达芙妮是 Distributed Aggregation Protocol (DAP) 标准的 Rust 实现。DAP 在 IETF 的 PPM 工作组中处于积极开发阶段。
达芙妮目前实现了 draft-ietf-ppm-dap-02。
此软件旨在支持实验性的 DAP 部署,并且还不适合用于生产环境。达芙妮将随着 DAP 草案的发展而演进:在草案本身开始稳定之前,不会保证与先前草案的向后兼容性。发布之间的 API 破坏性更改也应予以预期。
此 仓库 包含三个 crate
-
daphne
(又称 "达芙妮") -- 实现客户端、聚合器和收集器的核心 DAP 协议逻辑。此 crate 不提供任何一方完整、端到端的功能。相反,它定义了协议具体实例化所需实现的功能的特质。我们称这些功能为 "角色"。 -
daphne_worker
(又称 "Daphne-Worker") -- 基于 Cloudflare Workers 实现聚合器角色的后端。此 crate 还实现了 DAP 规范中定义的各种 HTTP 端点。 -
daphne_worker_test
-- 定义了 Daphne-Worker 的本地部署以进行测试。它还实现了 Daphne 和 Daphne-Worker 的集成测试以及与 Janus 的互操作性测试。
测试
daphne
crate 依赖于单元测试。 daphne_worker
crate 主要依赖于在 daphne_worker_test
中实现的集成测试。请参阅该目录中的 README 以获取运行 Daphne-Worker 本地的说明。
可以通过 docker-compose 运行集成测试。
docker-compose up --build --abort-on-container-exit --exit-code-from test
致谢
感谢 Nakatsuka Yoshimichi 在 Cloudflare 研究实习期间对 Daphne 的重大贡献。感谢 Brandon Pitman 和 David Cook 进行测试、报告错误和发送补丁。
"Daphne" 这个名字归功于 Cloudflare 研究实习生 Tim Alberdingk Thijm 和 James Larisch,他们独立想出了这个名字。
依赖项
~19MB
~433K SLoC