org.apache.ignite.internal.processors.cache

## Class IgniteCacheOffheapManagerImpl.CacheDataStoreImpl

- java.lang.Object
- - org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.CacheDataStoreImpl

All Implemented Interfaces:
  IgniteCacheOffheapManager.CacheDataStore

Enclosing class:
  IgniteCacheOffheapManagerImpl

    protected class IgniteCacheOffheapManagerImpl.CacheDataStoreImpl
    extends Object
    implements IgniteCacheOffheapManager.CacheDataStore

### Field Summary

Fields
`protected PartitionUpdateCounter` `pCntr` Update counter.

### Constructor Summary

Constructors
Constructor and Description
`CacheDataStoreImpl(int partId, String name, CacheDataRowStore rowStore, CacheDataTree dataTree)`

### Method Summary

All Methods Instance Methods Concrete Methods
`long` `cacheSize(int cacheId)`
`Map<Integer,Long>` `cacheSizes()`
`int` `cleanup(GridCacheContext cctx, List<MvccLinkAwareSearchRow> cleanupRows)`
`void` `clear(int cacheId)` Clears all the records associated with logical cache with given ID.
`CacheDataRow` `createRow(GridCacheContext cctx, KeyCacheObject key, CacheObject val, GridCacheVersion ver, long expireTime, CacheDataRow oldRow)`
`GridCursor<? extends CacheDataRow>` `cursor()`
`GridCursor<? extends CacheDataRow>` `cursor(int cacheId)`
`GridCursor<? extends CacheDataRow>` `cursor(int cacheId, KeyCacheObject lower, KeyCacheObject upper)`
`GridCursor<? extends CacheDataRow>` `cursor(int cacheId, KeyCacheObject lower, KeyCacheObject upper, Object x)`
`GridCursor<? extends CacheDataRow>` `cursor(int cacheId, KeyCacheObject lower, KeyCacheObject upper, Object x, MvccSnapshot snapshot)`
`GridCursor<? extends CacheDataRow>` `cursor(int cacheId, MvccSnapshot mvccSnapshot)`
`GridCursor<? extends CacheDataRow>` `cursor(MvccSnapshot mvccSnapshot)`
`GridCursor<? extends CacheDataRow>` `cursor(Object x)`
`void` `destroy()` Destroys the tree associated with the store.
`void` `finalizeUpdateCountres()` Flushes pending update counters closing all possible gaps.
`CacheDataRow` `find(GridCacheContext cctx, KeyCacheObject key)`
`long` `fullSize()`
`long` `getAndIncrementUpdateCounter(long delta)` Returns current value and updates counter by delta.
`void` `init(long size, long updCntr, Map<Integer,Long> cacheSizes)`
`long` `initialUpdateCounter()`
`void` `invoke(GridCacheContext cctx, KeyCacheObject key, IgniteCacheOffheapManager.OffheapInvokeClosure c)`
`GridCursor<CacheDataRow>` `mvccAllVersionsCursor(GridCacheContext cctx, KeyCacheObject key, Object x)` Returns iterator over the all row versions for the given key.
`void` `mvccApplyUpdate(GridCacheContext cctx, KeyCacheObject key, CacheObject val, GridCacheVersion ver, long expireTime, MvccVersion mvccVer)`
`CacheDataRow` `mvccFind(GridCacheContext cctx, KeyCacheObject key, MvccSnapshot snapshot)`
`List<IgniteBiTuple<Object,MvccVersion>>` `mvccFindAllVersions(GridCacheContext cctx, KeyCacheObject key)` For testing only.
`boolean` `mvccInitialValue(GridCacheContext cctx, KeyCacheObject key, CacheObject val, GridCacheVersion ver, long expireTime, MvccVersion mvccVer, MvccVersion newMvccVer)`
`boolean` `mvccInitialValueIfAbsent(GridCacheContext cctx, KeyCacheObject key, CacheObject val, GridCacheVersion ver, long expireTime, MvccVersion mvccVer, MvccVersion newMvccVer, byte txState, byte newTxState)`
`MvccUpdateResult` `mvccLock(GridCacheContext cctx, KeyCacheObject key, MvccSnapshot mvccSnapshot)`
`MvccUpdateResult` `mvccRemove(GridCacheContext cctx, KeyCacheObject key, MvccSnapshot mvccSnapshot, CacheEntryPredicate filter, boolean primary, boolean needHistory, boolean needOldVal, boolean retVal)`
`void` `mvccRemoveAll(GridCacheContext cctx, KeyCacheObject key)`
`GridLongList` `mvccRemoveNative(GridCacheContext cctx, boolean primary, KeyCacheObject key, MvccSnapshot mvccSnapshot)`
`MvccUpdateResult` `mvccUpdate(GridCacheContext cctx, KeyCacheObject key, CacheObject val, GridCacheVersion ver, long expireTime, MvccSnapshot mvccSnapshot, CacheEntryPredicate filter, javax.cache.processor.EntryProcessor entryProc, Object[] invokeArgs, boolean primary, boolean needHistory, boolean noCreate, boolean needOldVal, boolean retVal)`
`GridLongList` `mvccUpdateNative(GridCacheContext cctx, boolean primary, KeyCacheObject key, CacheObject val, GridCacheVersion ver, long expireTime, MvccSnapshot mvccSnapshot)`
`boolean` `mvccUpdateRowWithPreloadInfo(GridCacheContext cctx, KeyCacheObject key, CacheObject val, GridCacheVersion ver, long expireTime, MvccVersion mvccVer, MvccVersion newMvccVer, byte mvccTxState, byte newMvccTxState)`
`String` `name()`
`long` `nextUpdateCounter()`
`int` `partId()`
`PendingEntriesTree` `pendingTree()` Return PendingTree for data store.
`void` `remove(GridCacheContext cctx, KeyCacheObject key, int partId)`
`RowStore` `rowStore()`
`void` `setRowCacheCleaner(GridQueryRowCacheCleaner rowCacheCleaner)` Inject rows cache cleaner.
`void` `update(GridCacheContext cctx, KeyCacheObject key, CacheObject val, GridCacheVersion ver, long expireTime, CacheDataRow oldRow)`
`long` `updateCounter()`
`void` `updateCounter(long val)`
`void` `updateCounter(long start, long delta)` Updates counters from start value by delta value.
`void` `updateInitialCounter(long cntr)`
`void` `updateSize(int cacheId, long delta)` Updates size metric for particular cache.
`void` `updateTxState(GridCacheContext cctx, CacheSearchRow row)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### pCntr

    protected final PartitionUpdateCounter pCntr

Update counter.

### Constructor Detail

#### CacheDataStoreImpl

    public CacheDataStoreImpl(int partId,
                              String name,
                              CacheDataRowStore rowStore,
                              CacheDataTree dataTree)

Parameters:
  `partId` - Partition number.
  `name` - Name.
  `rowStore` - Row store.
  `dataTree` - Data tree.

### Method Detail

#### partId

    public int partId()

Specified by:
  `partId` in interface `IgniteCacheOffheapManager.CacheDataStore`
Returns:
  Partition ID.

#### cacheSize

    public long cacheSize(int cacheId)

Specified by:
  `cacheSize` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cacheId` - Cache ID.
Returns:
  Size.

#### cacheSizes

    public Map<Integer,Long> cacheSizes()

Specified by:
  `cacheSizes` in interface `IgniteCacheOffheapManager.CacheDataStore`
Returns:
  Cache sizes if store belongs to group containing multiple caches.

#### fullSize

    public long fullSize()

Specified by:
  `fullSize` in interface `IgniteCacheOffheapManager.CacheDataStore`
Returns:
  Total size.

#### updateSize

    public void updateSize(int cacheId,
                           long delta)

Updates size metric for particular cache.

Specified by:
  `updateSize` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cacheId` - Cache ID.
  `delta` - Size delta.

#### nextUpdateCounter

    public long nextUpdateCounter()

Specified by:
  `nextUpdateCounter` in interface `IgniteCacheOffheapManager.CacheDataStore`
Returns:
  Next update counter.

#### initialUpdateCounter

    public long initialUpdateCounter()

Specified by:
  `initialUpdateCounter` in interface `IgniteCacheOffheapManager.CacheDataStore`
Returns:
  Initial update counter.

#### updateInitialCounter

    public void updateInitialCounter(long cntr)

Specified by:
  `updateInitialCounter` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cntr` - Counter.

#### getAndIncrementUpdateCounter

    public long getAndIncrementUpdateCounter(long delta)

Returns current value and updates counter by delta.

Specified by:
  `getAndIncrementUpdateCounter` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `delta` - Delta.
Returns:
  Current value.

#### updateCounter

    public long updateCounter()

Specified by:
  `updateCounter` in interface `IgniteCacheOffheapManager.CacheDataStore`
Returns:
  Update counter.

#### updateCounter

    public void updateCounter(long val)

Specified by:
  `updateCounter` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `val` - Update counter.

#### updateCounter

    public void updateCounter(long start,
                              long delta)

Updates counters from start value by delta value.

Specified by:
  `updateCounter` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `start` - Start.
  `delta` - Delta

#### finalizeUpdateCountres

    public void finalizeUpdateCountres()

Flushes pending update counters closing all possible gaps.

Specified by:
  `finalizeUpdateCountres` in interface `IgniteCacheOffheapManager.CacheDataStore`

#### name

    public String name()

Specified by:
  `name` in interface `IgniteCacheOffheapManager.CacheDataStore`
Returns:
  Store name.

#### invoke

    public void invoke(GridCacheContext cctx,
                       KeyCacheObject key,
                       IgniteCacheOffheapManager.OffheapInvokeClosure c)
                throws IgniteCheckedException

Specified by:
  `invoke` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cctx` - Cache context.
  `key` - Key.
  `c` - Closure.
Throws:
  `IgniteCheckedException` - If failed.

#### createRow

    public CacheDataRow createRow(GridCacheContext cctx,
                                  KeyCacheObject key,
                                  CacheObject val,
                                  GridCacheVersion ver,
                                  long expireTime,
                                  @Nullable
                                  CacheDataRow oldRow)
                           throws IgniteCheckedException

Specified by:
  `createRow` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cctx` - Cache context.
  `key` - Key.
  `val` - Value.
  `ver` - Version.
  `expireTime` - Expire time.
  `oldRow` - Old row.
Returns:
  New row.
Throws:
  `IgniteCheckedException` - If failed.

#### mvccInitialValue

    public boolean mvccInitialValue(GridCacheContext cctx,
                                    KeyCacheObject key,
                                    @Nullable
                                    CacheObject val,
                                    GridCacheVersion ver,
                                    long expireTime,
                                    MvccVersion mvccVer,
                                    MvccVersion newMvccVer)
                             throws IgniteCheckedException

Specified by:
  `mvccInitialValue` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cctx` - Cache context.
  `key` - Key.
  `val` - Value.
  `ver` - Version.
  `mvccVer` - MVCC version.
  `newMvccVer` - New MVCC version.
Returns:
  `True` if new value was inserted.
Throws:
  `IgniteCheckedException` - If failed.

#### mvccInitialValueIfAbsent

    public boolean mvccInitialValueIfAbsent(GridCacheContext cctx,
                                            KeyCacheObject key,
                                            @Nullable
                                            CacheObject val,
                                            GridCacheVersion ver,
                                            long expireTime,
                                            MvccVersion mvccVer,
                                            MvccVersion newMvccVer,
                                            byte txState,
                                            byte newTxState)
                                     throws IgniteCheckedException

Specified by:
  `mvccInitialValueIfAbsent` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cctx` - Cache context.
  `key` - Key.
  `val` - Value.
  `ver` - Version.
  `mvccVer` - MVCC version.
  `newMvccVer` - New MVCC version.
  `txState` - Tx state hint for the mvcc version.
  `newTxState` - Tx state hint for the new mvcc version.
Returns:
  `True` if new value was inserted.
Throws:
  `IgniteCheckedException` - If failed.

#### mvccUpdateRowWithPreloadInfo

    public boolean mvccUpdateRowWithPreloadInfo(GridCacheContext cctx,
                                                KeyCacheObject key,
                                                @Nullable
                                                CacheObject val,
                                                GridCacheVersion ver,
                                                long expireTime,
                                                MvccVersion mvccVer,
                                                MvccVersion newMvccVer,
                                                byte mvccTxState,
                                                byte newMvccTxState)
                                         throws IgniteCheckedException

Specified by:
  `mvccUpdateRowWithPreloadInfo` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cctx` - Grid cache context.
  `key` - Key.
  `val` - Value.
  `ver` - Version.
  `expireTime` - Expiration time.
  `mvccVer` - Mvcc version.
  `newMvccVer` - New mvcc version.
Returns:
  `true` on success.
Throws:
  `IgniteCheckedException`

#### mvccUpdate

    public MvccUpdateResult mvccUpdate(GridCacheContext cctx,
                                       KeyCacheObject key,
                                       CacheObject val,
                                       GridCacheVersion ver,
                                       long expireTime,
                                       MvccSnapshot mvccSnapshot,
                                       @Nullable
                                       CacheEntryPredicate filter,
                                       javax.cache.processor.EntryProcessor entryProc,
                                       Object[] invokeArgs,
                                       boolean primary,
                                       boolean needHistory,
                                       boolean noCreate,
                                       boolean needOldVal,
                                       boolean retVal)
                                throws IgniteCheckedException

Specified by:
  `mvccUpdate` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cctx` - Cache context.
  `key` - Key.
  `val` - Value.
  `ver` - Version.
  `expireTime` - Expire time.
  `mvccSnapshot` - MVCC snapshot.
  `filter` - Filter.
  `entryProc` - Entry processor.
  `invokeArgs` - Entry processor invoke arguments.
  `primary` - `True` if update is executed on primary node.
  `needHistory` - Flag to collect history.
  `noCreate` - Flag indicating that row should not be created if absent.
  `needOldVal` - `True` if need old value.
  `retVal` - Flag to return previous value.
Returns:
  Update result.
Throws:
  `IgniteCheckedException` - If failed.

#### mvccRemove

    public MvccUpdateResult mvccRemove(GridCacheContext cctx,
                                       KeyCacheObject key,
                                       MvccSnapshot mvccSnapshot,
                                       @Nullable
                                       CacheEntryPredicate filter,
                                       boolean primary,
                                       boolean needHistory,
                                       boolean needOldVal,
                                       boolean retVal)
                                throws IgniteCheckedException

Specified by:
  `mvccRemove` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cctx` - Cache context.
  `key` - Key.
  `mvccSnapshot` - MVCC snapshot.
  `filter` - Filter.
  `primary` - `True` if update is executed on primary node.
  `needHistory` - Flag to collect history.
  `needOldVal` - `True` if need old value.
  `retVal` - Flag to return previous value.
Returns:
  List of transactions to wait for.
Throws:
  `IgniteCheckedException` - If failed.

#### mvccLock

    public MvccUpdateResult mvccLock(GridCacheContext cctx,
                                     KeyCacheObject key,
                                     MvccSnapshot mvccSnapshot)
                              throws IgniteCheckedException

Specified by:
  `mvccLock` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cctx` - Cache context.
  `key` - Key.
  `mvccSnapshot` - MVCC snapshot.
Returns:
  List of transactions to wait for.
Throws:
  `IgniteCheckedException` - If failed.

#### mvccUpdateNative

    public GridLongList mvccUpdateNative(GridCacheContext cctx,
                                         boolean primary,
                                         KeyCacheObject key,
                                         CacheObject val,
                                         GridCacheVersion ver,
                                         long expireTime,
                                         MvccSnapshot mvccSnapshot)
                                  throws IgniteCheckedException

Specified by:
  `mvccUpdateNative` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cctx` - Cache context.
  `primary` - `True` if update is executed on primary node.
  `key` - Key.
  `val` - Value.
  `ver` - Version.
  `expireTime` - Expire time.
  `mvccSnapshot` - MVCC snapshot.
Returns:
  Update result.
Throws:
  `IgniteCheckedException` - If failed.

#### mvccRemoveNative

    public GridLongList mvccRemoveNative(GridCacheContext cctx,
                                         boolean primary,
                                         KeyCacheObject key,
                                         MvccSnapshot mvccSnapshot)
                                  throws IgniteCheckedException

Specified by:
  `mvccRemoveNative` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cctx` - Cache context.
  `primary` - `True` if update is executed on primary node.
  `key` - Key.
  `mvccSnapshot` - MVCC snapshot.
Returns:
  List of transactions to wait for.
Throws:
  `IgniteCheckedException` - If failed.

#### mvccRemoveAll

    public void mvccRemoveAll(GridCacheContext cctx,
                              KeyCacheObject key)
                       throws IgniteCheckedException

Specified by:
  `mvccRemoveAll` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cctx` - Cache context.
  `key` - Key.
Throws:
  `IgniteCheckedException` - If failed.

#### cleanup

    public int cleanup(GridCacheContext cctx,
                       @Nullable
                       List<MvccLinkAwareSearchRow> cleanupRows)
                throws IgniteCheckedException

Specified by:
  `cleanup` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cctx` - Cache context.
  `cleanupRows` - Rows to cleanup.
Returns:
  Cleaned rows count.
Throws:
  `IgniteCheckedException` - If failed.

#### updateTxState

    public void updateTxState(GridCacheContext cctx,
                              CacheSearchRow row)
                       throws IgniteCheckedException

Specified by:
  `updateTxState` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cctx` - Cache context.
  `row` - Row.
Throws:
  `IgniteCheckedException`

#### update

    public void update(GridCacheContext cctx,
                       KeyCacheObject key,
                       CacheObject val,
                       GridCacheVersion ver,
                       long expireTime,
                       @Nullable
                       CacheDataRow oldRow)
                throws IgniteCheckedException

Specified by:
  `update` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cctx` - Cache context.
  `key` - Key.
  `val` - Value.
  `ver` - Version.
  `expireTime` - Expire time.
  `oldRow` - Old row if available.
Throws:
  `IgniteCheckedException` - If failed.

#### mvccApplyUpdate

    public void mvccApplyUpdate(GridCacheContext cctx,
                                KeyCacheObject key,
                                CacheObject val,
                                GridCacheVersion ver,
                                long expireTime,
                                MvccVersion mvccVer)
                         throws IgniteCheckedException

Specified by:
  `mvccApplyUpdate` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cctx` - Cache context.
  `key` - Key.
  `val` - Value.
  `ver` - Version.
  `expireTime` - Expire time.
  `mvccVer` - Mvcc version.
Throws:
  `IgniteCheckedException`

#### remove

    public void remove(GridCacheContext cctx,
                       KeyCacheObject key,
                       int partId)
                throws IgniteCheckedException

Specified by:
  `remove` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cctx` - Cache context.
  `key` - Key.
  `partId` - Partition number.
Throws:
  `IgniteCheckedException` - If failed.

#### find

    public CacheDataRow find(GridCacheContext cctx,
                             KeyCacheObject key)
                      throws IgniteCheckedException

Specified by:
  `find` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cctx` - Cache context.
  `key` - Key.
Returns:
  Data row.
Throws:
  `IgniteCheckedException` - If failed.

#### mvccFindAllVersions

    public List<IgniteBiTuple<Object,MvccVersion>> mvccFindAllVersions(GridCacheContext cctx,
                                                                       KeyCacheObject key)
                                                                throws IgniteCheckedException

For testing only.

Specified by:
  `mvccFindAllVersions` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cctx` - Cache context.
  `key` - Key.
Returns:
  All stored versions for given key.
Throws:
  `IgniteCheckedException` - If failed.

#### mvccAllVersionsCursor

    public GridCursor<CacheDataRow> mvccAllVersionsCursor(GridCacheContext cctx,
                                                          KeyCacheObject key,
                                                          Object x)
                                                   throws IgniteCheckedException

Returns iterator over the all row versions for the given key.

Specified by:
  `mvccAllVersionsCursor` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cctx` - Cache context.
  `key` - Key.
  `x` - Implementation specific argument, `null` always means that we need to return full detached data row.
Returns:
  Iterator over all versions.
Throws:
  `IgniteCheckedException` - If failed.

#### mvccFind

    public CacheDataRow mvccFind(GridCacheContext cctx,
                                 KeyCacheObject key,
                                 MvccSnapshot snapshot)
                          throws IgniteCheckedException

Specified by:
  `mvccFind` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cctx` - Cache context.
  `key` - Key.
Returns:
  Data row.
Throws:
  `IgniteCheckedException` - If failed.

#### cursor

    public GridCursor<? extends CacheDataRow> cursor()
                                              throws IgniteCheckedException

Specified by:
  `cursor` in interface `IgniteCacheOffheapManager.CacheDataStore`
Returns:
  Data cursor.
Throws:
  `IgniteCheckedException` - If failed.

#### cursor

    public GridCursor<? extends CacheDataRow> cursor(Object x)
                                              throws IgniteCheckedException

Specified by:
  `cursor` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `x` - Implementation specific argument, `null` always means that we need to return full detached data row.
Returns:
  Data cursor.
Throws:
  `IgniteCheckedException` - If failed.

#### cursor

    public GridCursor<? extends CacheDataRow> cursor(MvccSnapshot mvccSnapshot)
                                              throws IgniteCheckedException

Specified by:
  `cursor` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `mvccSnapshot` - MVCC snapshot.
Returns:
  Data cursor.
Throws:
  `IgniteCheckedException` - If failed.

#### cursor

    public GridCursor<? extends CacheDataRow> cursor(int cacheId)
                                              throws IgniteCheckedException

Specified by:
  `cursor` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cacheId` - Cache ID.
Returns:
  Data cursor.
Throws:
  `IgniteCheckedException` - If failed.

#### cursor

    public GridCursor<? extends CacheDataRow> cursor(int cacheId,
                                                     MvccSnapshot mvccSnapshot)
                                              throws IgniteCheckedException

Specified by:
  `cursor` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cacheId` - Cache ID.
  `mvccSnapshot` - Mvcc snapshot.
Returns:
  Data cursor.
Throws:
  `IgniteCheckedException` - If failed.

#### cursor

    public GridCursor<? extends CacheDataRow> cursor(int cacheId,
                                                     KeyCacheObject lower,
                                                     KeyCacheObject upper)
                                              throws IgniteCheckedException

Specified by:
  `cursor` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cacheId` - Cache ID.
  `lower` - Lower bound.
  `upper` - Upper bound.
Returns:
  Data cursor.
Throws:
  `IgniteCheckedException` - If failed.

#### cursor

    public GridCursor<? extends CacheDataRow> cursor(int cacheId,
                                                     KeyCacheObject lower,
                                                     KeyCacheObject upper,
                                                     Object x)
                                              throws IgniteCheckedException

Specified by:
  `cursor` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cacheId` - Cache ID.
  `lower` - Lower bound.
  `upper` - Upper bound.
  `x` - Implementation specific argument, `null` always means that we need to return full detached data row.
Returns:
  Data cursor.
Throws:
  `IgniteCheckedException` - If failed.

#### cursor

    public GridCursor<? extends CacheDataRow> cursor(int cacheId,
                                                     KeyCacheObject lower,
                                                     KeyCacheObject upper,
                                                     Object x,
                                                     MvccSnapshot snapshot)
                                              throws IgniteCheckedException

Specified by:
  `cursor` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cacheId` - Cache ID.
  `lower` - Lower bound.
  `upper` - Upper bound.
  `x` - Implementation specific argument, `null` always means that we need to return full detached data row.
  `snapshot` - Mvcc snapshot.
Returns:
  Data cursor.
Throws:
  `IgniteCheckedException` - If failed.

#### destroy

    public void destroy()
                 throws IgniteCheckedException

Destroys the tree associated with the store.

Specified by:
  `destroy` in interface `IgniteCacheOffheapManager.CacheDataStore`
Throws:
  `IgniteCheckedException` - If failed.

#### clear

    public void clear(int cacheId)
               throws IgniteCheckedException

Clears all the records associated with logical cache with given ID.

Specified by:
  `clear` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `cacheId` - Cache ID.
Throws:
  `IgniteCheckedException` - If failed.

#### rowStore

    public RowStore rowStore()

Specified by:
  `rowStore` in interface `IgniteCacheOffheapManager.CacheDataStore`
Returns:
  Row store.

#### setRowCacheCleaner

    public void setRowCacheCleaner(GridQueryRowCacheCleaner rowCacheCleaner)

Inject rows cache cleaner.

Specified by:
  `setRowCacheCleaner` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `rowCacheCleaner` - Rows cache cleaner.

#### init

    public void init(long size,
                     long updCntr,
                     @Nullable
                     Map<Integer,Long> cacheSizes)

Specified by:
  `init` in interface `IgniteCacheOffheapManager.CacheDataStore`
Parameters:
  `size` - Size to init.
  `updCntr` - Update counter to init.
  `cacheSizes` - Cache sizes if store belongs to group containing multiple caches.

#### pendingTree

    public PendingEntriesTree pendingTree()

Return PendingTree for data store.

Specified by:
  `pendingTree` in interface `IgniteCacheOffheapManager.CacheDataStore`
Returns:
  PendingTree instance.

2018 Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Database and Caching Platform | : ver. 2.7.5
Release Date | : June 4 2019