MCPcopy Create free account
hub / github.com/BTCGPU/BTCGPU / EncodeTo

Method EncodeTo

src/leveldb/db/version_edit.cc:41–86  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

39}
40
41void VersionEdit::EncodeTo(std::string* dst) const {
42 if (has_comparator_) {
43 PutVarint32(dst, kComparator);
44 PutLengthPrefixedSlice(dst, comparator_);
45 }
46 if (has_log_number_) {
47 PutVarint32(dst, kLogNumber);
48 PutVarint64(dst, log_number_);
49 }
50 if (has_prev_log_number_) {
51 PutVarint32(dst, kPrevLogNumber);
52 PutVarint64(dst, prev_log_number_);
53 }
54 if (has_next_file_number_) {
55 PutVarint32(dst, kNextFileNumber);
56 PutVarint64(dst, next_file_number_);
57 }
58 if (has_last_sequence_) {
59 PutVarint32(dst, kLastSequence);
60 PutVarint64(dst, last_sequence_);
61 }
62
63 for (size_t i = 0; i < compact_pointers_.size(); i++) {
64 PutVarint32(dst, kCompactPointer);
65 PutVarint32(dst, compact_pointers_[i].first); // level
66 PutLengthPrefixedSlice(dst, compact_pointers_[i].second.Encode());
67 }
68
69 for (DeletedFileSet::const_iterator iter = deleted_files_.begin();
70 iter != deleted_files_.end();
71 ++iter) {
72 PutVarint32(dst, kDeletedFile);
73 PutVarint32(dst, iter->first); // level
74 PutVarint64(dst, iter->second); // file number
75 }
76
77 for (size_t i = 0; i < new_files_.size(); i++) {
78 const FileMetaData& f = new_files_[i].second;
79 PutVarint32(dst, kNewFile);
80 PutVarint32(dst, new_files_[i].first); // level
81 PutVarint64(dst, f.number);
82 PutVarint64(dst, f.file_size);
83 PutLengthPrefixedSlice(dst, f.smallest.Encode());
84 PutLengthPrefixedSlice(dst, f.largest.Encode());
85 }
86}
87
88static bool GetInternalKey(Slice* input, InternalKey* dst) {
89 Slice str;

Callers 5

NewDBMethod · 0.45
WriteDescriptorMethod · 0.45
TestEncodeDecodeFunction · 0.45
LogAndApplyMethod · 0.45
WriteSnapshotMethod · 0.45

Calls 7

PutVarint32Function · 0.85
PutLengthPrefixedSliceFunction · 0.85
PutVarint64Function · 0.85
sizeMethod · 0.45
EncodeMethod · 0.45
beginMethod · 0.45
endMethod · 0.45

Tested by 1

TestEncodeDecodeFunction · 0.36