Ejemplo n.º 1
0
        /// <summary>
        /// Moves a node from active to reserve and cleans list references for node
        /// </summary>
        /// <param name="pNode"></param>
        protected void BaseRemove(DLink pNode)
        {
            Debug.Assert(pNode != null);

            // Update list pointers to remove pNode from list
            DLink.RemoveFromList(ref pActive, pNode);

            // Remove list references in removed node
            pNode.ClearLinks();

            // Return pNode to pReserve list
            DLink.AddToFront(ref pReserve, pNode);

            // stats update
            this.activeNodeNum--;
            this.reserveNodeNum++;
        }