Commit graph

12455 commits

Author SHA1 Message Date
Kovid Goyal
bbbc33d4dc
... 2023-07-30 19:49:43 +05:30
Kovid Goyal
7a9c425c66
Nicer function names for endian encode/decode 2023-07-30 19:49:43 +05:30
Kovid Goyal
b03fa08884
... 2023-07-30 19:49:43 +05:30
Kovid Goyal
9a5b3a7315
Start work on porting rsync roundtrip tests 2023-07-30 19:49:43 +05:30
Kovid Goyal
05373c6e2a
Get the new rsync code building 2023-07-30 19:49:43 +05:30
Kovid Goyal
b5498090df
Finish the port of the rsync algorithm to C 2023-07-30 19:49:43 +05:30
Kovid Goyal
caa9c27554
Read serialized signatures 2023-07-30 19:49:42 +05:30
Kovid Goyal
ffbdf3f545
... 2023-07-30 19:49:42 +05:30
Kovid Goyal
27eb89b4a9
Type signature for Patcher 2023-07-30 19:49:42 +05:30
Kovid Goyal
69f347e1a2
Port code to apply serialized delta operations 2023-07-30 19:49:42 +05:30
Kovid Goyal
d485d487ea
Use pkg_config for xxhash flags 2023-07-30 19:49:42 +05:30
Kovid Goyal
f2a6100f1f
Replace more references to librsync 2023-07-30 19:49:42 +05:30
Kovid Goyal
05f776d4d7
Replace bundling of librsync with libxxhash 2023-07-30 19:49:42 +05:30
Kovid Goyal
98294b8cab
Specialize binary encoding on little endian arches 2023-07-30 19:49:42 +05:30
Kovid Goyal
c84874ca8d
Add tests for the xxhash based hashers 2023-07-30 19:49:42 +05:30
Kovid Goyal
37d9a572ee
Restore a couple of needed functions to the rsync module 2023-07-30 19:49:42 +05:30
Kovid Goyal
493d49e206
Replace librsync with xxHash in sources.json 2023-07-30 19:49:42 +05:30
Kovid Goyal
08e3dbb8e7
Patcher signature generation implemented 2023-07-30 19:49:42 +05:30
Kovid Goyal
562f09c1f6
Expose reset as well 2023-07-30 19:49:42 +05:30
Kovid Goyal
fabb6bd8cc
Start work on porting Go rsync implementation to C 2023-07-30 19:49:42 +05:30
Kovid Goyal
85df15bfc3
Add a test that the last op is hash 2023-07-30 19:49:42 +05:30
Kovid Goyal
f64c4f34ac
Also use io.Writer for signature iterator 2023-07-30 19:49:42 +05:30
Kovid Goyal
4b5216adcf
Change delta creation API to use io.Writer
Simplifies logic and avoids an extra copy if the writer doesnt need to
make its own copy
2023-07-30 19:49:41 +05:30
Kovid Goyal
1adaafbbb9
Forgot to update FTCSerialization test for new behavior 2023-07-30 19:49:41 +05:30
Kovid Goyal
94b5bedfa5
Add overall file checksum verification to the rsync protocol 2023-07-30 19:49:41 +05:30
Kovid Goyal
e125f803b3
Work on adding overall checksum support 2023-07-30 19:49:41 +05:30
Kovid Goyal
d676886ab8
Update safe string pat in go code to match updated spec 2023-07-30 19:49:41 +05:30
Kovid Goyal
039e17840a
Allow users to customize buffer growth strategy 2023-07-30 19:49:41 +05:30
Kovid Goyal
c2ad662bed
Use the append paradigm for the delta iterator as well 2023-07-30 19:49:41 +05:30
Kovid Goyal
579ab8551e
Add some API docs 2023-07-30 19:49:41 +05:30
Kovid Goyal
77d5fe1be5
Change signature generation API to allow caller to provide storage and control iteration 2023-07-30 19:49:41 +05:30
Kovid Goyal
bbb6a4ae35
Micro-optimization: store strong hash as a uint64 instead of a byte slice 2023-07-30 19:49:41 +05:30
Kovid Goyal
55f9359e1b
Make the rsync struct private 2023-07-30 19:49:41 +05:30
Kovid Goyal
6c10528cbd
Make the hasher var private in the rsync API 2023-07-30 19:49:41 +05:30
Kovid Goyal
ca835cd80d
... 2023-07-30 19:49:41 +05:30
Kovid Goyal
7268513332
More tests 2023-07-30 19:49:41 +05:30
Kovid Goyal
71c7c4b285
Clean up delta generation algorithm implementation 2023-07-30 19:49:41 +05:30
Kovid Goyal
83d97c515c
Use the iterator design for bytes based API as well 2023-07-30 19:49:41 +05:30
Kovid Goyal
e7d02b79d7
Make diff internals private 2023-07-30 19:49:41 +05:30
Kovid Goyal
6bc0fc7615
Make serializing data ops avoid a double copy 2023-07-30 19:49:40 +05:30
Kovid Goyal
f7723a65fa
Removal original delta operation implementation
Mine is nicer and much more amenable to debugging
2023-07-30 19:49:40 +05:30
Kovid Goyal
35bfdbd926
... 2023-07-30 19:49:40 +05:30
Kovid Goyal
3db2c4fe5d
Make the test non-random 2023-07-30 19:49:40 +05:30
Kovid Goyal
74e0fa3f1d
Show invocation line for failing test 2023-07-30 19:49:40 +05:30
Kovid Goyal
ed6e3dfe2c
Speedup Memset for single val 2023-07-30 19:49:40 +05:30
Kovid Goyal
678ad627b2
Improve testing infra for rsync roundtrip 2023-07-30 19:49:40 +05:30
Kovid Goyal
26c93af565
... 2023-07-30 19:49:40 +05:30
Kovid Goyal
f27bb2103f
Work on cleaning up the checksum searching algorithm 2023-07-30 19:49:40 +05:30
Kovid Goyal
4dc409ff5d
Increase MaxBlockSize 2023-07-30 19:49:40 +05:30
Kovid Goyal
6a7c194d8f
In the tests check that too much data is not being transmitted 2023-07-30 19:49:40 +05:30