Disk ARchive 2.7.16
Full featured and portable backup and archiving tool
Public Types | Public Member Functions | Public Attributes | List of all members
libdar::delta_sig_block_size Struct Reference

defines how to calculate delta signature block size based of file size to delta sign More...

#include <delta_sig_block_size.hpp>

+ Collaboration diagram for libdar::delta_sig_block_size:

Public Types

enum  fs_function_t {
  fixed , linear , log2 , square2 ,
  square3
}
 defines the function to use to derivate block size from file size More...
 

Public Member Functions

 delta_sig_block_size (const delta_sig_block_size &ref)=default
 set the structure to defaults value
 
 delta_sig_block_size (delta_sig_block_size &&ref) noexcept=default
 
delta_sig_block_sizeoperator= (const delta_sig_block_size &ref)=default
 
delta_sig_block_sizeoperator= (delta_sig_block_size &&ref) noexcept=default
 
bool operator== (const delta_sig_block_size &ref) const
 
void reset ()
 reset to default value
 
bool equals_default ()
 whether structure has default values More...
 
void check () const
 check the sanity of the provided values
 
U_I calculate (const infinint &filesize) const
 calculate the value of the block size given the file size More...
 

Public Attributes

fs_function_t fs_function
 
infinint multiplier
 function dependently used multiplier More...
 
infinint divisor
 function dependently used divisor More...
 
U_I min_block_len
 calculated block len will never be lower than that More...
 
U_I max_block_len
 calculated block len will never be higer than that except if this field is set to zero (disabling this ceiling check) More...
 

Detailed Description

defines how to calculate delta signature block size based of file size to delta sign

Note
the global formula is block_size = multiplicator/divisor*fs_function(filesize)
of course, divisor cannot be null

Definition at line 46 of file delta_sig_block_size.hpp.

Member Enumeration Documentation

◆ fs_function_t

defines the function to use to derivate block size from file size

Enumerator
fixed 

block size is independant from file size

linear 

block size if proportionnal to file size

log2 

block size is proportional to log2(file size)

square2 

block size is proportional to filesize^2

square3 

block size if proportional to filesize^3

Definition at line 49 of file delta_sig_block_size.hpp.

Constructor & Destructor Documentation

◆ delta_sig_block_size()

libdar::delta_sig_block_size::delta_sig_block_size ( )
inline

Definition at line 66 of file delta_sig_block_size.hpp.

Member Function Documentation

◆ calculate()

U_I libdar::delta_sig_block_size::calculate ( const infinint filesize) const

calculate the value of the block size given the file size

Parameters
[in]filesizeis the size of the file which delta signature to be calculated
Returns
the block len to use for delta signature

◆ equals_default()

bool libdar::delta_sig_block_size::equals_default ( )
inline

whether structure has default values

Definition at line 79 of file delta_sig_block_size.hpp.

Member Data Documentation

◆ divisor

infinint libdar::delta_sig_block_size::divisor

function dependently used divisor

Definition at line 60 of file delta_sig_block_size.hpp.

◆ fs_function

fs_function_t libdar::delta_sig_block_size::fs_function

Definition at line 58 of file delta_sig_block_size.hpp.

◆ max_block_len

U_I libdar::delta_sig_block_size::max_block_len

calculated block len will never be higer than that except if this field is set to zero (disabling this ceiling check)

Definition at line 62 of file delta_sig_block_size.hpp.

◆ min_block_len

U_I libdar::delta_sig_block_size::min_block_len

calculated block len will never be lower than that

Definition at line 61 of file delta_sig_block_size.hpp.

◆ multiplier

infinint libdar::delta_sig_block_size::multiplier

function dependently used multiplier

Definition at line 59 of file delta_sig_block_size.hpp.


The documentation for this struct was generated from the following file: