Beispiel #1
0
        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;
        }
Beispiel #2
0
        /**
         * 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;
                }
            }
        }