1个不稳定版本
0.1.0 | 2023年12月19日 |
---|
#723 在 异步
每月 116 次下载
160KB
3K SLoC
Automerge-repo-rs
项目目标:在Automerge和客户端代码之间添加一个集成层,兼容任何Rust异步运行时。
示例
多个TCP客户端,一个硬编码IP的服务器,内存存储。
- 启动服务器
cargorun --exampletcp-example --特性="tokio" ----tcp-run-ip 127.0.0.1:2345 --http-run-ip 0.0.0.0:3001
- 启动任意数量的客户端
cargorun --exampletcp-example --特性="tokio" ----other-ip 127.0.0.1:2345 --http-run-ip 0.0.0.0:3002
- 在服务器上创建一个新的文档
curl0.0.0.0:3001/new_doc
- 文档ID以JSON格式返回。
- 请求文档
curl --json '{document-id}' 0.0.0.0:3002/request_doc
(文档ID参数应类似于'"f9b1a2c6-ca05-4fc7-a02f-7e3d83f1bb49"'
)
- 在每个终端标签页中按ctr-c。
- 成功运行将打印出预期的同步文档。
分布式面包店算法
- 启动引导节点
cargorun --release --exampledistributed-bakery --特性="tokio" ----bootstrap --customer-id"1"
- 启动两个其他节点
cargorun --release --exampledistributed-bakery --特性="tokio" ----customer-id"2"
cargorun --release --exampledistributed-bakery --特性="tokio" ----customer-id"3"
- 观察节点相互请求新的增量,并进入/退出它们的临界区(打印出来)。
依赖项
~13–26MB
~518K SLoC