#include "db/vlog_manager.h" namespace leveldb{ namespace vlog{ void VlogManager::AddVlogFile(uint64_t vlogfile_number, SequentialFile* seq_file, WritableFile* write_file){ if(vlog_table_.find(vlogfile_number) == vlog_table_.end()){ vlog_table_[vlogfile_number] = seq_file; writable_to_sequential_[write_file] = seq_file; } else{ //Do Nothing } } SequentialFile* VlogManager::GetVlogFile(uint64_t vlogfile_number){ auto it = vlog_table_.find(vlogfile_number); if(it != vlog_table_.end()){ return it->second; } else return nullptr; } bool VlogManager::IsEmpty(){ return vlog_table_.size() == 0; } // 标记一个vlog文件有一个新的无效的value,pzy void VlogManager::MarkVlogValueInvalid(uint64_t vlogfile_number, uint64_t offset) { auto vlog_file = GetVlogFile(vlogfile_number); if (vlog_file) { vlog_file->MarkValueInvalid(offset); // 调用具体文件的标记逻辑 } } }// namespace vlog }