Disk ARchive 2.7.16
Full featured and portable backup and archiving tool
|
the cat_delta_signature file class More...
#include <cat_delta_signature.hpp>
Public Member Functions | |
cat_delta_signature (generic_file *f, proto_compressor *c) | |
constructor to read an object (using read() later on) from filesystem/backup More... | |
cat_delta_signature () | |
constructor to write an object to filesytem/backup (using dump_* methods later on) More... | |
cat_delta_signature (const cat_delta_signature &ref) | |
copy constructor More... | |
cat_delta_signature (cat_delta_signature &&ref) noexcept | |
move constructor More... | |
cat_delta_signature & | operator= (const cat_delta_signature &ref) |
assignement operator More... | |
cat_delta_signature & | operator= (cat_delta_signature &&ref) noexcept |
move assignment operator More... | |
~cat_delta_signature () | |
destructor More... | |
bool | is_pending_read () const |
tells whether the read() call has been invoked More... | |
void | read (bool sequential_read, const archive_version &ver) |
bool | can_obtain_sig () const |
the cat_delta_signature structure can only hold CRC without delta_signature, this call gives the situation about that point More... | |
std::shared_ptr< memory_file > | obtain_sig (const archive_version &ver) const |
provide a memory_file object which the caller has the duty to destroy after use More... | |
U_I | obtain_sig_block_size () const |
provide the block size used for delta signature More... | |
void | drop_sig () const |
drop signature but keep metadata available More... | |
void | will_have_signature () |
give the object where to fetch from the delta signature, object must exist up to the next call to dump_data More... | |
void | set_sig (const std::shared_ptr< memory_file > &ptr, U_I sig_block_size) |
the object pointed to by ptr must stay available when calling dump_data()/dump_metadata() later on More... | |
void | set_sig () |
variante used when the delta_signature object will only contain CRCs (no delta signature) More... | |
void | dump_data (generic_file &f, bool sequential_mode, const archive_version &ver) const |
write down the data eventually with sequential read mark followed by delta sig metadata More... | |
void | dump_metadata (generic_file &f) const |
write down the delta_signature metadata for catalogue | |
bool | has_patch_base_crc () const |
returns whether the object has a base patch CRC (s_delta status objects) More... | |
bool | get_patch_base_crc (const crc *&c) const |
returns the CRC of the file to base the patch on, for s_delta objects | |
void | set_patch_base_crc (const crc &c) |
set the reference CRC of the file to base the patch on, for s_detla objects | |
bool | has_patch_result_crc () const |
returns whether the object has a CRC corresponding to data (for s_saved, s_delta, and when delta signature is present) More... | |
bool | get_patch_result_crc (const crc *&c) const |
returns the CRC the file will have once restored or patched (for s_saved, s_delta, and when delta signature is present) | |
void | set_patch_result_crc (const crc &c) |
set the CRC the file will have once restored or patched (for s_saved, s_delta, and when delta signature is present) | |
void | clear () |
reset the object More... | |
Private Member Functions | |
void | init () noexcept |
void | copy_from (const cat_delta_signature &ref) |
void | move_from (cat_delta_signature &&ref) noexcept |
void | destroy () noexcept |
void | fetch_data (const archive_version &ver) const |
Private Attributes | |
crc * | patch_base_check |
associated CRC for the file this signature has been computed on, moved to cat_file since format 11.2, still need for older formats More... | |
infinint | delta_sig_size |
size of the data to setup "sig" (set to zero when reading in sequential mode, sig is then setup on-fly) More... | |
infinint | delta_sig_offset |
std::shared_ptr< memory_file > | sig |
the signature data, if set nullptr it will be fetched from f in direct access mode only More... | |
crc * | patch_result_check |
associated CRC More... | |
generic_file * | src |
where to read data from More... | |
proto_compressor * | zip |
needed to disable compression when reading delta signature data from an archive More... | |
U_I | sig_block_len |
block length used within delta signature More... | |
bool | pending_read |
when the object has been created for read but data not yet read from archive More... | |
the cat_delta_signature file class
this class works in two implicit modes
Definition at line 93 of file cat_delta_signature.hpp.
libdar::cat_delta_signature::cat_delta_signature | ( | generic_file * | f, |
proto_compressor * | c | ||
) |
constructor to read an object (using read() later on) from filesystem/backup
[in] | f | where to read the data from, used when calling read() later on. f must not be set to nullptr and the pointed to object must survive this cat_delta_signature object |
[in] | c | points to the compressor layer in order to suspend compression when reading data (metadata will be read compressed or not depending on the its location (in-lined or in the catalogue at end of archive) |
|
inline |
constructor to write an object to filesytem/backup (using dump_* methods later on)
Definition at line 106 of file cat_delta_signature.hpp.
|
inline |
copy constructor
Definition at line 109 of file cat_delta_signature.hpp.
|
inlinenoexcept |
move constructor
Definition at line 112 of file cat_delta_signature.hpp.
|
inline |
destructor
Definition at line 121 of file cat_delta_signature.hpp.
|
inline |
the cat_delta_signature structure can only hold CRC without delta_signature, this call gives the situation about that point
Definition at line 134 of file cat_delta_signature.hpp.
References delta_sig_size, and libdar::infinint::is_zero().
Referenced by libdar::cat_file::has_delta_signature_available().
|
inline |
|
inline |
drop signature but keep metadata available
Definition at line 150 of file cat_delta_signature.hpp.
References sig.
void libdar::cat_delta_signature::dump_data | ( | generic_file & | f, |
bool | sequential_mode, | ||
const archive_version & | ver | ||
) | const |
write down the data eventually with sequential read mark followed by delta sig metadata
|
inline |
returns whether the object has a base patch CRC (s_delta status objects)
Definition at line 183 of file cat_delta_signature.hpp.
References patch_base_check.
|
inline |
returns whether the object has a CRC corresponding to data (for s_saved, s_delta, and when delta signature is present)
Definition at line 192 of file cat_delta_signature.hpp.
References patch_result_check.
|
inline |
tells whether the read() call has been invoked
Definition at line 126 of file cat_delta_signature.hpp.
References pending_read.
std::shared_ptr< memory_file > libdar::cat_delta_signature::obtain_sig | ( | const archive_version & | ver | ) | const |
provide a memory_file object which the caller has the duty to destroy after use
|
inline |
provide the block size used for delta signature
Definition at line 144 of file cat_delta_signature.hpp.
References sig_block_len.
|
inlinenoexcept |
move assignment operator
Definition at line 118 of file cat_delta_signature.hpp.
|
inline |
void libdar::cat_delta_signature::read | ( | bool | sequential_read, |
const archive_version & | ver | ||
) |
read the metadata of the object from the generic_file given at construction time
|
inline |
variante used when the delta_signature object will only contain CRCs (no delta signature)
Definition at line 168 of file cat_delta_signature.hpp.
References delta_sig_offset, delta_sig_size, sig, and sig_block_len.
void libdar::cat_delta_signature::set_sig | ( | const std::shared_ptr< memory_file > & | ptr, |
U_I | sig_block_size | ||
) |
the object pointed to by ptr must stay available when calling dump_data()/dump_metadata() later on
|
inline |
give the object where to fetch from the delta signature, object must exist up to the next call to dump_data
Definition at line 159 of file cat_delta_signature.hpp.
References delta_sig_size.
|
private |
where to read sig_block_len followed by delta_sig_size bytes of data from which to setup "sig"
Definition at line 206 of file cat_delta_signature.hpp.
Referenced by set_sig().
|
private |
size of the data to setup "sig" (set to zero when reading in sequential mode, sig is then setup on-fly)
Definition at line 205 of file cat_delta_signature.hpp.
Referenced by can_obtain_sig(), set_sig(), and will_have_signature().
|
private |
associated CRC for the file this signature has been computed on, moved to cat_file since format 11.2, still need for older formats
Definition at line 204 of file cat_delta_signature.hpp.
Referenced by has_patch_base_crc().
|
private |
associated CRC
Definition at line 209 of file cat_delta_signature.hpp.
Referenced by has_patch_result_crc().
|
private |
when the object has been created for read but data not yet read from archive
Definition at line 213 of file cat_delta_signature.hpp.
Referenced by is_pending_read().
|
mutableprivate |
the signature data, if set nullptr it will be fetched from f in direct access mode only
Definition at line 208 of file cat_delta_signature.hpp.
Referenced by drop_sig(), and set_sig().
|
mutableprivate |
block length used within delta signature
Definition at line 212 of file cat_delta_signature.hpp.
Referenced by obtain_sig_block_size(), and set_sig().
|
private |
where to read data from
Definition at line 210 of file cat_delta_signature.hpp.
|
private |
needed to disable compression when reading delta signature data from an archive
Definition at line 211 of file cat_delta_signature.hpp.