Class SegmentedLruPageList
- java.lang.Object
-
- org.apache.ignite.internal.processors.cache.persistence.pagemem.SegmentedLruPageList
-
public class SegmentedLruPageList extends Object
Pages Segmented-LRU (SLRU) list implementation.- See Also:
PageReplacementMode.SEGMENTED_LRU
-
-
Constructor Summary
Constructors Constructor Description SegmentedLruPageList(int totalPagesCnt, long memPtr)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddToTail(int pageIdx, boolean protectedPage)Add page to the tail of protected or probationary LRU list.voidmoveToTail(int pageIdx)Move page to the tail of protected LRU list.intpoll()Remove page from the head of LRU list.voidremove(int pageIdx)Remove page from LRU list by page index.static longrequiredMemory(int pagesCnt)Memory required to servicepagesCntpages.
-
-
-
Method Detail
-
poll
public int poll()
Remove page from the head of LRU list.- Returns:
- Page index or
-1if 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 servicepagesCntpages.- Parameters:
pagesCnt- Pages count.
-
-