public GarbageCollectCtrl(LinkedList <Node <T> > list, RUMTree <T> tree) { string inspectionInterval = GetAppConfig("RUMTreeGCInspectionInterval"); if (inspectionInterval != null) { this.inspectionInterval = Convert.ToInt32(inspectionInterval); } this.tree = tree; this.list = list; }
/** * eliminate null entries, move all entries to the start of the source node */ internal void reorganize(RUMTree <T> rtree) { int countdownIndex = rtree.maxNodeEntries - 1; for (int index = 0; index < entryCount; index++) { if (entries[index] == null) { while (entries[countdownIndex] == null && countdownIndex > index) { countdownIndex--; } entries[index] = entries[countdownIndex]; ids[index] = ids[countdownIndex]; stamps[index] = stamps[countdownIndex]; entries[countdownIndex] = null; } } }