MCPcopy Create free account
hub / github.com/baidu/tera / CollectEvictableFiles

Method CollectEvictableFiles

src/leveldb/persistent_cache/persistent_cache_metadata.cc:288–304  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

286}
287
288std::vector<std::unique_ptr<CacheFile>> PersistentCacheMetaData::CollectEvictableFiles() {
289 std::vector<std::unique_ptr<CacheFile>> files;
290 {
291 std::lock_guard<std::mutex> _{evictable_files_lock_};
292 auto iter = evictable_files_.begin();
293 while (iter != evictable_files_.end()) {
294 // Find all evictable files whose refs_ is zero.
295 if ((*iter)->refs_ == 0) {
296 files.emplace_back(*iter);
297 evictable_files_.erase(iter++);
298 } else {
299 ++iter;
300 }
301 }
302 }
303 return std::move(files);
304}
305} // namespace leveldb

Callers 1

GarbageCollectMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected