libzypp: zypp::media::MediaBlockList Class Reference

libzypp 17.25.10

Public Member Functions | Private Member Functions | Private Attributes | List of all members
zypp::media::MediaBlockList Class Reference

`#include <MediaBlockList.h>`

## Public Member Functions
| MediaBlockList (off_t filesize=off_t(-1))
bool | haveBlocks () const
| do we have a blocklist describing the file? set to true when addBlock() is called More...
size_t | addBlock (off_t off, size_t size)
| add a block with offset off and size size to the block list. More...
MediaBlock | getBlock (size_t blkno) const
| return the offset/size of a block with number blkno More...
size_t | numBlocks () const
| return the number of blocks in the blocklist More...
void | setFilesize (off_t newfilesize=off_t(-1))
| set / return the size of the whole file More...
off_t | getFilesize () const
bool | haveFilesize () const
void | setFileChecksum (std::string ctype, int cl, unsigned char *c)
| set / verify the checksum over the whole file More...
const std::vector< unsigned char > & | getFileChecksum ()
bool | createFileDigest (Digest &digest) const
bool | verifyFileDigest (Digest &digest) const
bool | haveFileChecksum () const
void | setChecksum (size_t blkno, std::string cstype, int csl, unsigned char *cs, size_t cspad=0)
| set / verify the (strong) checksum over a single block More...
bool | checkChecksum (size_t blkno, const unsigned char *buf, size_t bufl) const
std::vector< unsigned char > | getChecksum (size_t blkno)
bool | createDigest (Digest &digest) const
bool | verifyDigest (size_t blkno, Digest &digest) const
bool | haveChecksum (size_t blkno) const
void | setRsum (size_t blkno, int rsl, unsigned int rs, size_t rspad=0)
| set / verify the (weak) rolling checksum over a single block More...
bool | checkRsum (size_t blkno, const unsigned char *buf, size_t bufl) const
unsigned int | updateRsum (unsigned int rs, const char *bytes, size_t len) const
bool | verifyRsum (size_t blkno, unsigned int rs) const
bool | haveRsum (size_t blkno) const
void | reuseBlocks (FILE *wfp, std::string filename)
| scan a file for blocks from our blocklist. More...
std::string | asString () const
| return block list as string More...

## Private Member Functions
void | writeBlock (size_t blkno, FILE *fp, const unsigned char *buf, size_t bufl, size_t start, std::vector< bool > &found) const
bool | checkChecksumRotated (size_t blkno, const unsigned char *buf, size_t bufl, size_t start) const

## Private Attributes
off_t | filesize
std::string | fsumtype
std::vector< unsigned char > | fsum
bool | haveblocks
std::vector< MediaBlock > | blocks
std::string | chksumtype
int | chksumlen
size_t | chksumpad
std::vector< unsigned char > | chksums
std::string | rsumtype
int | rsumlen
size_t | rsumpad
std::vector< unsigned int > | rsums

## Detailed Description

Definition at line 35 of file MediaBlockList.h.

## Constructor & Destructor Documentation

## ◆ MediaBlockList()

zypp::media::MediaBlockList::MediaBlockList | ( | off_t | filesize = `off_t(-1)` | ) |

Definition at line 31 of file MediaBlockList.cc.

## Member Function Documentation

## ◆ haveBlocks()

bool zypp::media::MediaBlockList::haveBlocks | ( |  | ) | const
| inline

do we have a blocklist describing the file? set to true when addBlock() is called

Definition at line 43 of file MediaBlockList.h.

## ◆ addBlock()

size_t zypp::media::MediaBlockList::addBlock | ( | off_t | off,
|  | size_t | size
| ) |  |

add a block with offset off and size size to the block list.

Note that blocks must be ordered and must not overlap. returns the block number.

Definition at line 42 of file MediaBlockList.cc.

## ◆ getBlock()

MediaBlock zypp::media::MediaBlockList::getBlock | ( | size_t | blkno | ) | const
| inline

return the offset/size of a block with number blkno

Definition at line 56 of file MediaBlockList.h.

## ◆ numBlocks()

size_t zypp::media::MediaBlockList::numBlocks | ( |  | ) | const
| inline

return the number of blocks in the blocklist

Definition at line 62 of file MediaBlockList.h.

## ◆ setFilesize()

void zypp::media::MediaBlockList::setFilesize | ( | off_t | newfilesize = `off_t(-1)` | ) |
| inline

set / return the size of the whole file

Definition at line 69 of file MediaBlockList.h.

## ◆ getFilesize()

off_t zypp::media::MediaBlockList::getFilesize | ( |  | ) | const
| inline

Definition at line 72 of file MediaBlockList.h.

## ◆ haveFilesize()

bool zypp::media::MediaBlockList::haveFilesize | ( |  | ) | const
| inline

Definition at line 75 of file MediaBlockList.h.

## ◆ setFileChecksum()

void zypp::media::MediaBlockList::setFileChecksum | ( | std::string | ctype,
|  | int | cl,
|  | unsigned char * | c
| ) |  |

set / verify the checksum over the whole file

Definition at line 50 of file MediaBlockList.cc.

## ◆ getFileChecksum()

const std::vector< unsigned char > & zypp::media::MediaBlockList::getFileChecksum | ( |  | ) |

Definition at line 59 of file MediaBlockList.cc.

## ◆ createFileDigest()

bool zypp::media::MediaBlockList::createFileDigest | ( | Digest & | digest | ) | const

Definition at line 65 of file MediaBlockList.cc.

## ◆ verifyFileDigest()

bool zypp::media::MediaBlockList::verifyFileDigest | ( | Digest & | digest | ) | const

Definition at line 71 of file MediaBlockList.cc.

## ◆ haveFileChecksum()

bool zypp::media::MediaBlockList::haveFileChecksum | ( |  | ) | const
| inline

Definition at line 86 of file MediaBlockList.h.

## ◆ setChecksum()

void zypp::media::MediaBlockList::setChecksum | ( | size_t | blkno,
|  | std::string | cstype,
|  | int | csl,
|  | unsigned char * | cs,
|  | size_t | cspad = `0`
| ) |  |

set / verify the (strong) checksum over a single block

Definition at line 82 of file MediaBlockList.cc.

## ◆ checkChecksum()

bool zypp::media::MediaBlockList::checkChecksum | ( | size_t | blkno,
|  | const unsigned char * | buf,
|  | size_t | bufl
| ) |  | const

Definition at line 200 of file MediaBlockList.cc.

## ◆ getChecksum()

std::vector< unsigned char > zypp::media::MediaBlockList::getChecksum | ( | size_t | blkno | ) |

Definition at line 211 of file MediaBlockList.cc.

## ◆ createDigest()

bool zypp::media::MediaBlockList::createDigest | ( | Digest & | digest | ) | const

Definition at line 118 of file MediaBlockList.cc.

## ◆ verifyDigest()

bool zypp::media::MediaBlockList::verifyDigest | ( | size_t | blkno,
|  | Digest & | digest
| ) |  | const

Definition at line 124 of file MediaBlockList.cc.

## ◆ haveChecksum()

bool zypp::media::MediaBlockList::haveChecksum | ( | size_t | blkno | ) | const
| inline

Definition at line 98 of file MediaBlockList.h.

## ◆ setRsum()

void zypp::media::MediaBlockList::setRsum | ( | size_t | blkno,
|  | int | rsl,
|  | unsigned int | rs,
|  | size_t | rspad = `0`
| ) |  |

set / verify the (weak) rolling checksum over a single block

Definition at line 101 of file MediaBlockList.cc.

## ◆ checkRsum()

bool zypp::media::MediaBlockList::checkRsum | ( | size_t | blkno,
|  | const unsigned char * | buf,
|  | size_t | bufl
| ) |  | const

Definition at line 191 of file MediaBlockList.cc.

## ◆ updateRsum()

unsigned int zypp::media::MediaBlockList::updateRsum | ( | unsigned int | rs,
|  | const char * | bytes,
|  | size_t | len
| ) |  | const

Definition at line 144 of file MediaBlockList.cc.

## ◆ verifyRsum()

bool zypp::media::MediaBlockList::verifyRsum | ( | size_t | blkno,
|  | unsigned int | rs
| ) |  | const

Definition at line 161 of file MediaBlockList.cc.

## ◆ haveRsum()

bool zypp::media::MediaBlockList::haveRsum | ( | size_t | blkno | ) | const
| inline

Definition at line 109 of file MediaBlockList.h.

## ◆ reuseBlocks()

void zypp::media::MediaBlockList::reuseBlocks | ( | FILE * | wfp,
|  | std::string | filename
| ) |  |

scan a file for blocks from our blocklist.

if we find a suitable block, it is removed from the list

Definition at line 289 of file MediaBlockList.cc.

## ◆ asString()

std::string zypp::media::MediaBlockList::asString | ( |  | ) | const

return block list as string

Definition at line 502 of file MediaBlockList.cc.

## ◆ writeBlock()

void zypp::media::MediaBlockList::writeBlock | ( | size_t | blkno,
|  | FILE * | fp,
|  | const unsigned char * | buf,
|  | size_t | bufl,
|  | size_t | start,
|  | std::vector< bool > & | found
| ) |  | const
| private

Definition at line 242 of file MediaBlockList.cc.

## ◆ checkChecksumRotated()

bool zypp::media::MediaBlockList::checkChecksumRotated | ( | size_t | blkno,
|  | const unsigned char * | buf,
|  | size_t | bufl,
|  | size_t | start
| ) |  | const
| private

Definition at line 223 of file MediaBlockList.cc.

## Member Data Documentation

## ◆ filesize

off_t zypp::media::MediaBlockList::filesize
| private

Definition at line 128 of file MediaBlockList.h.

## ◆ fsumtype

std::string zypp::media::MediaBlockList::fsumtype
| private

Definition at line 129 of file MediaBlockList.h.

## ◆ fsum

std::vector<unsigned char> zypp::media::MediaBlockList::fsum
| private

Definition at line 130 of file MediaBlockList.h.

## ◆ haveblocks

bool zypp::media::MediaBlockList::haveblocks
| private

Definition at line 132 of file MediaBlockList.h.

## ◆ blocks

std::vector<MediaBlock> zypp::media::MediaBlockList::blocks
| private

Definition at line 133 of file MediaBlockList.h.

## ◆ chksumtype

std::string zypp::media::MediaBlockList::chksumtype
| private

Definition at line 135 of file MediaBlockList.h.

## ◆ chksumlen

int zypp::media::MediaBlockList::chksumlen
| private

Definition at line 136 of file MediaBlockList.h.

## ◆ chksumpad

size_t zypp::media::MediaBlockList::chksumpad
| private

Definition at line 137 of file MediaBlockList.h.

## ◆ chksums

std::vector<unsigned char> zypp::media::MediaBlockList::chksums
| private

Definition at line 138 of file MediaBlockList.h.

## ◆ rsumtype

std::string zypp::media::MediaBlockList::rsumtype
| private

Definition at line 140 of file MediaBlockList.h.

## ◆ rsumlen

int zypp::media::MediaBlockList::rsumlen
| private

Definition at line 141 of file MediaBlockList.h.

## ◆ rsumpad

size_t zypp::media::MediaBlockList::rsumpad
| private

Definition at line 142 of file MediaBlockList.h.

## ◆ rsums

std::vector<unsigned int> zypp::media::MediaBlockList::rsums
| private

Definition at line 143 of file MediaBlockList.h.

The documentation for this class was generated from the following files:

- zypp/media/MediaBlockList.h
- zypp/media/MediaBlockList.cc