void MarkTotallyUselessFilesAsUnknown() { List <uint> toRemoveFileIds = null; for (var i = 0; i < _fileStats.Length; i++) { if (_fileStats[i].Useless()) { if (toRemoveFileIds == null) { toRemoveFileIds = new List <uint>(); } toRemoveFileIds.Add((uint)i); } } if (toRemoveFileIds != null) { _keyValueDB.MarkAsUnknown(toRemoveFileIds); } }
void MarkTotallyUselessFilesAsUnknown() { List <uint> toRemoveFileIds = null; foreach (var fileStat in _fileStats.Index) { if (_fileStats.ValueRef(fileStat).Useless()) { if (toRemoveFileIds == null) { toRemoveFileIds = new List <uint>(); } toRemoveFileIds.Add(_fileStats.KeyRef(fileStat)); } } if (toRemoveFileIds != null) { _keyValueDB.MarkAsUnknown(toRemoveFileIds); } }
internal void FastStartCleanUp() { if (_keyValueDB.FileCollection.GetCount() == 0) { return; } _root = _keyValueDB.LastCommited; var dontTouchGeneration = _keyValueDB.GetGeneration(_root.TrLogFileId); InitFileStats(dontTouchGeneration); CalculateFileUsefullness(); var toRemoveFileIds = new List <uint>(); for (var i = 0; i < _fileStats.Length; i++) { if (_fileStats[i].Useless()) { toRemoveFileIds.Add((uint)i); } } _keyValueDB.MarkAsUnknown(toRemoveFileIds); }