librsync - library for delta compression of streams
#include <stdio.h> |
#include <stdlib.h> |
#include <rsync.h> |
cc ... lrsync |
The librsync library implements network deltacompression of streams and files. The algorithm is similar to that used in the rsync(1) and xdelta(2) programs, but specialized for transfer of arbitrarylength octet streams. Unlike most diff programs, librsync does not require access to both of the files on the same machine, but rather only a short ``signature'' of the old file and the complete contents of the new file.
The canonical use of librsync is in the rproxy(8) reference implementation of the rsync proposed extension to HTTP. It may be useful to other programs which wish to do deltacompression in HTTP, or within their own protocol. There are HTTPspecific utility functions within librsync, but they need not be used.
A number of tools such as rdiff(1) provide commandline and scriptable access to rsync functions.
rdiff(1)
rdiff and librsync Manual
http://rproxy.sourceforge.net/ or http://linuxcare.com.au/rproxy/.
draftpoolrsync
The rsync protocol is still evolving. There may be bugs in the implementation. The interface may change in the future, but it is becoming more stable.
Many routines will panic in case of error rather than returning an error code to the caller. Patches to fix this are welcome, but at the current state of development aborting seems as useful as trusting to possiblyincomplete checking in the client.
Martin Pool <mbp@samba.org>, with Andrew Tridgell <tridge@samba.org>.
rproxy/rdiff development has been supported in part by Linuxcare, Inc, a leading provider of enterprise services for open source software.