MCPcopy Create free account
hub / github.com/Snapchat/KeyDB / rdbSaveLzfBlob

Function rdbSaveLzfBlob

src/rdb.cpp:340–363  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

338}
339
340ssize_t rdbSaveLzfBlob(rio *rdb, void *data, size_t compress_len,
341 size_t original_len) {
342 unsigned char byte;
343 ssize_t n, nwritten = 0;
344
345 /* Data compressed! Let's save it on disk */
346 byte = (RDB_ENCVAL<<6)|RDB_ENC_LZF;
347 if ((n = rdbWriteRaw(rdb,&byte,1)) == -1) goto writeerr;
348 nwritten += n;
349
350 if ((n = rdbSaveLen(rdb,compress_len)) == -1) goto writeerr;
351 nwritten += n;
352
353 if ((n = rdbSaveLen(rdb,original_len)) == -1) goto writeerr;
354 nwritten += n;
355
356 if ((n = rdbWriteRaw(rdb,data,compress_len)) == -1) goto writeerr;
357 nwritten += n;
358
359 return nwritten;
360
361writeerr:
362 return -1;
363}
364
365ssize_t rdbSaveLzfStringObject(rio *rdb, const unsigned char *s, size_t len) {
366 char rgbuf[2048];

Callers 2

rdbSaveLzfStringObjectFunction · 0.85
rdbSaveObjectFunction · 0.85

Calls 2

rdbWriteRawFunction · 0.85
rdbSaveLenFunction · 0.85

Tested by

no test coverage detected