libzypp
17.25.6
|
#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 |
Definition at line 35 of file MediaBlockList.h.
zypp::media::MediaBlockList::MediaBlockList | ( | off_t | filesize = off_t(-1) | ) |
Definition at line 31 of file MediaBlockList.cc.
|
inline |
do we have a blocklist describing the file? set to true when addBlock() is called
Definition at line 43 of file MediaBlockList.h.
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.
|
inline |
return the offset/size of a block with number blkno
Definition at line 56 of file MediaBlockList.h.
|
inline |
return the number of blocks in the blocklist
Definition at line 62 of file MediaBlockList.h.
|
inline |
set / return the size of the whole file
Definition at line 69 of file MediaBlockList.h.
|
inline |
Definition at line 72 of file MediaBlockList.h.
|
inline |
Definition at line 75 of file MediaBlockList.h.
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.
const std::vector< unsigned char > & zypp::media::MediaBlockList::getFileChecksum | ( | ) |
Definition at line 59 of file MediaBlockList.cc.
Definition at line 65 of file MediaBlockList.cc.
Definition at line 71 of file MediaBlockList.cc.
|
inline |
Definition at line 86 of file MediaBlockList.h.
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.
bool zypp::media::MediaBlockList::checkChecksum | ( | size_t | blkno, |
const unsigned char * | buf, | ||
size_t | bufl | ||
) | const |
Definition at line 200 of file MediaBlockList.cc.
std::vector< unsigned char > zypp::media::MediaBlockList::getChecksum | ( | size_t | blkno | ) |
Definition at line 211 of file MediaBlockList.cc.
Definition at line 118 of file MediaBlockList.cc.
Definition at line 124 of file MediaBlockList.cc.
|
inline |
Definition at line 98 of file MediaBlockList.h.
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.
bool zypp::media::MediaBlockList::checkRsum | ( | size_t | blkno, |
const unsigned char * | buf, | ||
size_t | bufl | ||
) | const |
Definition at line 191 of file MediaBlockList.cc.
unsigned int zypp::media::MediaBlockList::updateRsum | ( | unsigned int | rs, |
const char * | bytes, | ||
size_t | len | ||
) | const |
Definition at line 144 of file MediaBlockList.cc.
bool zypp::media::MediaBlockList::verifyRsum | ( | size_t | blkno, |
unsigned int | rs | ||
) | const |
Definition at line 161 of file MediaBlockList.cc.
|
inline |
Definition at line 109 of file MediaBlockList.h.
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.
std::string zypp::media::MediaBlockList::asString | ( | ) | const |
return block list as string
Definition at line 502 of file MediaBlockList.cc.
|
private |
Definition at line 242 of file MediaBlockList.cc.
|
private |
Definition at line 223 of file MediaBlockList.cc.
|
private |
Definition at line 128 of file MediaBlockList.h.
|
private |
Definition at line 129 of file MediaBlockList.h.
|
private |
Definition at line 130 of file MediaBlockList.h.
|
private |
Definition at line 132 of file MediaBlockList.h.
|
private |
Definition at line 133 of file MediaBlockList.h.
|
private |
Definition at line 135 of file MediaBlockList.h.
|
private |
Definition at line 136 of file MediaBlockList.h.
|
private |
Definition at line 137 of file MediaBlockList.h.
|
private |
Definition at line 138 of file MediaBlockList.h.
|
private |
Definition at line 140 of file MediaBlockList.h.
|
private |
Definition at line 141 of file MediaBlockList.h.
|
private |
Definition at line 142 of file MediaBlockList.h.
|
private |
Definition at line 143 of file MediaBlockList.h.