RZBackup is a library, and a collection of binaries, implementing a partial clone of ZBackup.
The main class is
Repository, which has static methods for opening and
accessing data from a ZBackup repository. The
restore method will restore
a backup to a provided
Clone and is fully thread-safe. It performs
parallel decompression operations using a background thread pool and it has
a three-layer cache. The parameters for cache sizes and number of threads
are fully configurable.
There is also a
RandomAccess class which implements
can be constructed from a
Repository and the name of a backup.
A ZBackup bundle ID
A ZBackup chunk ID
A ZBackup index ID
This struct implements both
A ZBackup index entry. This combined the header with the bundle info, since generally both of these are needed to make use of the data.
This is the main struct which implements the ZBackup restore functionality. It is multi-threaded, using a cpu pool internally, and it is fully thread safe.
This controls the configuration of a repository, and is passed to the
The size of the buffers used when reading and decompressing ZBackup data
The default location for the filesystem cache.
The size of a ZBackup HMAC, in bytes
The size of a ZBackup initialisation vector, in bytes
The size of a ZBackup encryption key, in bytes
The default number of compressed filesystem cache entries. This number of chunks will be stored in a temporary directory after LZO-compression.
The default number of uncompressed memory cache entries. This number of chunks will be kept in memory after LZO-compression, in an LRU cache.
The default number of uncompressed memory cache entries. This number of chunks will be kept in memory uncompressed, in an LRU cache.
A ZBackup chunk's data
A ZBackup encryption key