2 个不稳定版本

0.2.0 2022 年 11 月 7 日
0.1.2 2022 年 9 月 13 日
0.1.1 2022 年 8 月 31 日
0.1.0 2022 年 8 月 29 日
0.0.1 2022 年 8 月 26 日

#3#dap


daphne_worker 中使用

BSD-3-Clause

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