| Disk ARchive 2.6.12 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>`

## 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_size & | operator= (const delta_sig_block_size &ref)=default
delta_sig_block_size & | operator= (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
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
infinint | divisor
| function dependently used divisor
U_I | min_block_len
| calculated block len will never be lower than that
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)

## 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

enum libdar::delta_sig_block_size::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.

## 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] | filesize | is the size of the file which delta signature to be calculated

Returns
  the block len to use for delta signature

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

- delta_sig_block_size.hpp