org.apache.ignite.internal.processors.cache.persistence.evict

## Interface PageEvictionTracker

All Superinterfaces:
  LifecycleAware

All Known Implementing Classes:
  FairFifoPageEvictionTracker, NoOpPageEvictionTracker, PageAbstractEvictionTracker, Random2LruPageEvictionTracker, RandomLruPageEvictionTracker

    public interface PageEvictionTracker
    extends LifecycleAware

Entry point for per-page eviction. Accepts information about touching data pages, capable of evicting "the least needed" page (according to implemented eviction algorithm).

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `evictDataPage()` Evicts one data page.
`void` `forgetPage(long pageId)` Call this method when last entry is removed from data page.
`void` `touchPage(long pageId)` Call this method when data page is accessed.

### Methods inherited from interface org.apache.ignite.lifecycle.LifecycleAware

`start, stop`

### Method Detail

#### touchPage

    void touchPage(long pageId)
            throws IgniteCheckedException

Call this method when data page is accessed.

Parameters:
  `pageId` - Page id.
Throws:
  `IgniteCheckedException` - In case of page memory error.

#### evictDataPage

    void evictDataPage()
                throws IgniteCheckedException

Evicts one data page. In most cases, all entries will be removed from the page. Method guarantees removing at least one entry from "evicted" data page. Removing all entries may be not possible, as some of them can be used by active transactions.

Throws:
  `IgniteCheckedException` - In case of page memory error.

#### forgetPage

    void forgetPage(long pageId)
             throws IgniteCheckedException

Call this method when last entry is removed from data page.

Parameters:
  `pageId` - Page id.
Throws:
  `IgniteCheckedException` - In case of page memory error.

2018 Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Fabric | : ver. 2.5.0
Release Date | : May 23 2018