Commit graph

28 commits

Author SHA1 Message Date
Kovid Goyal
c861259e3b
Rename go module from kitty -> github.com/kovidgoyal/kitty
Makes the code more easily re-useable in other projects
2025-05-16 08:43:39 +05:30
Kovid Goyal
49ea26968c
Bump go version to 1.21
Allows us to use the much faster builtin min/max functions
for two variable min/max
2023-08-09 11:58:16 +05:30
Kovid Goyal
6b5520f07a
More work on porting the receive kitten 2023-07-30 19:49:45 +05:30
Kovid Goyal
063c39ea12
Wire up the rsync code in the send kitten 2023-07-30 19:49:43 +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
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
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
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
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
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