bool LdbLogsReader::parse_one_key(int32_t type, leveldb::Slice& key) { bool ret = leveldb::GetLengthPrefixedSlice(last_log_record_, &key); log_debug("@@ parse key ret : %d", ret); if (ret && filter_ != NULL && filter_->ok(type, key, last_sequence_)) { // skip this key key.clear(); } return ret; }
bool LdbLogsReader::parse_one_kv(int32_t type, leveldb::Slice& key, leveldb::Slice& value) { bool ret = leveldb::GetLengthPrefixedSlice(last_log_record_, &key); log_debug("@@ parse key ret : %d", ret); if (ret) { if (filter_ == NULL || filter_->ok(type, key, last_sequence_)) { ret = leveldb::GetLengthPrefixedSlice(last_log_record_, &value); } else { // skip this key key.clear(); // skip value ret = leveldb::SkipLengthPrefixedSlice(last_log_record_); } } return ret; }