MCPcopy Create free account
hub / github.com/4paradigm/OpenMLDB / EncodeFull

Function EncodeFull

src/codec/row_codec.h:491–510  ·  view source on GitHub ↗

encode pk, ts and value

Source from the content-addressed store, hash-verified

489
490// encode pk, ts and value
491static inline void EncodeFull(const std::string& pk, uint64_t time,
492 const char* data, const size_t size, char* buffer,
493 uint32_t offset) {
494 buffer += offset;
495 uint32_t pk_size = pk.length();
496 uint32_t total_size = 8 + pk_size + size;
497 DEBUGLOG("encode total size %u pk size %u", total_size, pk_size);
498 memcpy(buffer, static_cast<const void*>(&total_size), 4);
499 memrev32ifbe(buffer);
500 buffer += 4;
501 memcpy(buffer, static_cast<const void*>(&pk_size), 4);
502 memrev32ifbe(buffer);
503 buffer += 4;
504 memcpy(buffer, static_cast<const void*>(&time), 8);
505 memrev64ifbe(buffer);
506 buffer += 8;
507 memcpy(buffer, static_cast<const void*>(pk.c_str()), pk_size);
508 buffer += pk_size;
509 memcpy(buffer, static_cast<const void*>(data), size);
510}
511static inline void EncodeFull(const std::string& pk, uint64_t time,
512 const DataBlock* data, char* buffer,
513 uint32_t offset) {

Callers 2

TraverseMethod · 0.85
TEST_FFunction · 0.85

Calls

no outgoing calls

Tested by 1

TEST_FFunction · 0.68