Class SegmentedLruPageList

    • Constructor Detail

      • SegmentedLruPageList

        public SegmentedLruPageList​(int totalPagesCnt,
                                    long memPtr)
        Parameters:
        totalPagesCnt - Total pages count.
        memPtr - Pointer to memory region.
    • Method Detail

      • poll

        public int poll()
        Remove page from the head of LRU list.
        Returns:
        Page index or -1 if list is empty.
      • remove

        public void remove​(int pageIdx)
        Remove page from LRU list by page index.
        Parameters:
        pageIdx - Page index.
      • addToTail

        public void addToTail​(int pageIdx,
                              boolean protectedPage)
        Add page to the tail of protected or probationary LRU list.
        Parameters:
        pageIdx - Page index.
        protectedPage - Protected page flag.
      • moveToTail

        public void moveToTail​(int pageIdx)
        Move page to the tail of protected LRU list.
        Parameters:
        pageIdx - Page index.
      • requiredMemory

        public static long requiredMemory​(int pagesCnt)
        Memory required to service pagesCnt pages.
        Parameters:
        pagesCnt - Pages count.