# README
gSync
A Go library implementing rsync algorithm described at https://www.samba.org/~tridge/phd_thesis.pdf and in more detail at http://paperswelove.org/2017/video/camilo-aguilar-rsync-algorithm/.
# Functions
Apply reconstructs a file given a set of operations.
LookUpTable reads up blocks signatures and builds a lookup table for the client to search from when trying to decide wether to send or not a block of data.
Signatures reads data blocks from reader and pipes out block signatures on the returning channel, closing it when done reading or when the context is cancelled.
Sync sends tokens or literal bytes to the caller in order to efficiently re-construct a remote file.
# Structs
BlockOperation represents a file re-construction instruction.
BlockSignature contains file block index and checksums.