File tree 2 files changed +38
-3
lines changed
2 files changed +38
-3
lines changed Original file line number Diff line number Diff line change 1
1
TODO
2
2
--------
3
+
3
4
V0.1.0 可用,但性能有问题
4
5
V0.2.0 Commits on Jan 8, 2016。未打Tag,可用,性能优化。
5
6
V0.3.0 计划把整个工程从QMake切换至CMake,完善可用性。未完成。
6
7
7
8
crsync
8
9
--------
9
- a C library of Client-side rsync over HTTP via curl
10
10
11
- Guide
11
+ A library and CLI tool of Client-side rsync over HTTP via curl, implemented by pure C.
12
+
13
+ [ Guide] ( ./doc/README.md )
12
14
--------
15
+
13
16
基于rsync算法的客户端二进制增量差异更新组件。
14
17
15
18
1 . 纯C语言实现, 使用libcurl HTTP通讯,跨平台兼容性良好。
18
21
4 . 目前已支持Android,Windows,理论上支持所有平台。
19
22
5 . 源码简单易懂,核心部分仅1000行,可随意扩展修改。
20
23
21
- Workflow
24
+ [ Workflow] ( ./doc/workflow.md )
22
25
--------
23
26
24
27
+ 服务端生成新版本的摘要文件, 并部署到HTTP FileServer
Original file line number Diff line number Diff line change
1
+ Workflow
2
+ ----
3
+
4
+ ``` mermaid
5
+ graph TD
6
+ subgraph Server-Side
7
+ Remote[PC/Server/Host] -->|Generate|File2[App/New File 2.0]
8
+ File2 -->|crsync digest| Digest2(App/New Digest 2.0)
9
+ end
10
+
11
+ subgraph CDN-Side
12
+ File2CDN[App/New File 2.0]
13
+ Digest2CDN[App/New Digest 2.0]
14
+ end
15
+
16
+ subgraph Client-Side
17
+ File1[PC/Client/Mobile App/Old File 1.0]
18
+
19
+ subgraph Crsync-Internal
20
+ CrsyncMatch{crsync match} -->|Calculate|PatchIndex
21
+ PatchIndex -->CrsyncPatch{crsync patch}
22
+ end
23
+
24
+ CrsyncPatch -->|memcpy|File2Local[App/New File 2.0]
25
+ end
26
+
27
+ File2 -->|Deploy|File2CDN
28
+ Digest2 -->|Deploy|Digest2CDN
29
+ File1 --> |Full File Content|CrsyncMatch
30
+ Digest2CDN -->|curl download|CrsyncMatch
31
+ File2CDN -->|curl http chunk|CrsyncPatch
32
+ ```
You can’t perform that action at this time.
0 commit comments