Expand description
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 Writer
.
Repository
implements 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 Seek
and Read
, and
can be constructed from a Repository
and the name of a backup.
Modules§
Structs§
- Atomic
File Writer - Bundle
Id - A ZBackup bundle ID
- ChunkId
- A ZBackup chunk ID
- IndexId
- A ZBackup index ID
- Random
Access - This struct implements both
Seek
andRead
and can be used to easily and efficiently access the contents of a backup using these idiomatic APIs. - RawIndex
Entry - 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.
- ZBackup
Repository - 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.
- ZBackup
Repository Config - This controls the configuration of a repository, and is passed to the
open
constructor.
Constants§
- AUTHOR
- BUFFER_
SIZE - The size of the buffers used when reading and decompressing ZBackup data
- FILESYSTEM_
CACHE_ PATH - The default location for the filesystem cache.
- HMAC_
SIZE - The size of a ZBackup HMAC, in bytes
- IV_SIZE
- The size of a ZBackup initialisation vector, in bytes
- KEY_
SIZE - The size of a ZBackup encryption key, in bytes
- MAX_
COMPRESSED_ FILESYSTEM_ CACHE_ ENTRIES - The default number of compressed filesystem cache entries. This number of chunks will be stored in a temporary directory after LZO-compression.
- MAX_
COMPRESSED_ MEMORY_ CACHE_ ENTRIES - The default number of uncompressed memory cache entries. This number of chunks will be kept in memory after LZO-compression, in an LRU cache.
- MAX_
UNCOMPRESSED_ MEMORY_ CACHE_ ENTRIES - The default number of uncompressed memory cache entries. This number of chunks will be kept in memory uncompressed, in an LRU cache.
- VERSION
Functions§
Type Aliases§
- Chunk
Data - A ZBackup chunk’s data
- Encryption
Key - A ZBackup encryption key