Commit Graph

833 Commits

Author SHA1 Message Date
Kovid Goyal
e125f803b3 Work on adding overall checksum support 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
Kovid Goyal
79fd0b19cf Fix a bug in upstream CreateDelta that could ignore trailing data if a matching hash is not found for it 2023-07-30 19:49:40 +05:30
Kovid Goyal
82721ef053 Check for error during seek() 2023-07-30 19:49:40 +05:30
Kovid Goyal
6d614a98ac Get the test to pass 2023-07-30 19:49:40 +05:30
Kovid Goyal
26c22f0086 Work on creating tests for rsync api 2023-07-30 19:49:40 +05:30
Kovid Goyal
278a3986e5 Simplify API a bit 2023-07-30 19:49:40 +05:30
Kovid Goyal
2801b934fb Split up API into two structs one for diffing and one for patching 2023-07-30 19:49:40 +05:30
Kovid Goyal
a5c62da265 Dont use JSON for signature header 2023-07-30 19:49:39 +05:30
Kovid Goyal
c28f6a7bf4 Make CreateSignature byte oriented 2023-07-30 19:49:39 +05:30
Kovid Goyal
71a1050b9f Make loading of external signature data also streaming 2023-07-30 19:49:39 +05:30
Kovid Goyal
7e12972414 Wrap the rsync Go API to use with byte streams and arbitrary hash functions 2023-07-30 19:49:39 +05:30
Kovid Goyal
d539620c9d Import Go implementation of rsync algorithm
From https://github.com/jbreiding/rsync-go/blob/master/rsync.go
2023-07-30 19:49:39 +05:30
Kovid Goyal
10362c3121 DRYer 2023-07-30 19:49:39 +05:30
Kovid Goyal
dee6210de5 Utility function to initialize struct based on default tags 2023-07-30 19:49:39 +05:30
Kovid Goyal
38666f978b More work on porting transfer kitten 2023-07-30 19:49:39 +05:30
Kovid Goyal
aa86b98eee Use encryption for bypass 2023-07-30 19:49:39 +05:30
Kovid Goyal
5d361757a2 more work on the transfer kitten 2023-07-30 19:49:38 +05:30
Kovid Goyal
ff3232547d More work on transfer kitten porting 2023-07-30 19:49:38 +05:30
Kovid Goyal
55bbf175c6 Port send file mapping tests 2023-07-30 19:49:37 +05:30
Kovid Goyal
be7f276d3e More work on the transfer kitten 2023-07-30 19:49:37 +05:30
Kovid Goyal
7cec9016d3 Start work on porting the transfer kitten to Go 2023-07-30 19:49:37 +05:30
Kovid Goyal
28fbab3476 ... 2023-07-24 12:45:01 +05:30
Kovid Goyal
8cab5f881f More timer dispatch loop cleanups 2023-07-24 12:38:48 +05:30
Kovid Goyal
f4b0183341 Nicer debug output of timers 2023-07-24 12:19:27 +05:30
Kovid Goyal
ce35532aa5 Avoid unnecessary copy and sort of timers 2023-07-24 12:01:00 +05:30
Kovid Goyal
2baff2fccc Fix timer that does not fire at next loop tick being discarded 2023-07-24 11:54:02 +05:30
Kovid Goyal
58312fffee Also detect makefiles as plain text files 2023-07-24 10:53:39 +05:30