/** * @param pageAddr Page address. * @return Next page ID. */ public long getNextId(long pageAddr) { return PageUtils.getLong(pageAddr, NEXT_PAGE_ID_OFF); }
/** {@inheritDoc} */ @Override public long getOffheapUsedSize() { if (!metricsEnabled) return 0; return pageMem.loadedPages() * pageMem.systemPageSize(); }
/** * @param pageAddr Page address. * @param freeListPageId Free list page ID. */ public void setFreeListPageId(long pageAddr, long freeListPageId) { PageUtils.putLong(pageAddr, FREE_LIST_PAGE_ID_OFF, freeListPageId); }
/** * @return Allocated meta page ID. * @throws IgniteCheckedException If failed. */ private FullPageId allocateMetaPage() throws IgniteCheckedException { return new FullPageId(pageMem.allocatePage(CACHE_ID, PageIdAllocator.INDEX_PARTITION, PageIdAllocator.FLAG_IDX), CACHE_ID); }
/** * Returns MVCC operation counter value. * * @param pageAddr Page address. * @param dataOff Data offset. * @return MVCC counter value. */ public int mvccOperationCounter(long pageAddr, int dataOff) { long addr = pageAddr + dataOff; return PageUtils.getInt(addr, 16); }
/** * @param pageAddr Page address. * @return Payload bytes. */ public byte[] getBytes(long pageAddr) { return PageUtils.getBytes(pageAddr, off, payloadSize); }
/** * @param pageAddr Page address. */ public byte getPartitionState(long pageAddr) { return PageUtils.getByte(pageAddr, PARTITION_STATE_OFF); }
/** * @param pageAddr Page address. * @param dataOff Entry data offset. * @param pageSize Page size. */ private void setFirstEntryOffset(long pageAddr, int dataOff, int pageSize) { assert dataOff >= ITEMS_OFF + ITEM_SIZE && dataOff <= pageSize : dataOff; PageUtils.putShort(pageAddr, FIRST_ENTRY_OFF, (short)dataOff); }
/** * @param mem Memory. * @return Page. * @throws IgniteCheckedException If failed. */ public static FullPageId allocatePage(PageIdAllocator mem) throws IgniteCheckedException { return new FullPageId(mem.allocatePage(-1, 1, PageIdAllocator.FLAG_DATA), -1); } }
/** * @param pageAddr Page address. * @return Stored items count. */ private int getCount(long pageAddr) { return PageUtils.getShort(pageAddr, CNT_OFF); }
/** * @param pageAddr Page address. * @param crc Checksum. */ public static void setCrc(long pageAddr, int crc) { PageUtils.putInt(pageAddr, CRC_OFF, crc); }
/** * Returns MVCC coordinator number. * * @param pageAddr Page address. * @param dataOff Data offset. * @return MVCC coordinator number. */ public long mvccCoordinator(long pageAddr, int dataOff) { long addr = pageAddr + dataOff; return PageUtils.getLong(addr, 0); }
/** * @param pageAddr Page address. * @param lastSuccessfulSnapshotTag Last successful snapshot tag. */ public void setLastSuccessfulSnapshotTag(long pageAddr, long lastSuccessfulSnapshotTag) { PageUtils.putLong(pageAddr, LAST_SUCCESSFUL_FULL_SNAPSHOT_TAG_OFF, lastSuccessfulSnapshotTag); }
/** * @param pageAddr Page address. * @return Items count in the page. */ public final int getCount(long pageAddr) { int cnt = PageUtils.getShort(pageAddr, CNT_OFF) & 0xFFFF; assert cnt >= 0: cnt; return cnt; }
/** * Returns MVCC counter value. * * @param pageAddr Page address. * @param dataOff Data offset. * @return MVCC counter value. */ public long mvccCounter(long pageAddr, int dataOff) { long addr = pageAddr + dataOff; return PageUtils.getLong(addr, 8); }
/** * @param pageAddr Page address. * @param prevId Previous page ID. */ public void setPreviousId(long pageAddr, long prevId) { PageUtils.putLong(pageAddr, PREV_PAGE_ID_OFF, prevId); }
/** * @param pageAddr Page address. * @return Tree root page. */ public long getTreeRoot(long pageAddr) { return PageUtils.getLong(pageAddr, TREE_ROOT_OFF); }
/** * @param pageAddr Page address. */ public long getLastSuccessfulSnapshotTag(long pageAddr) { return PageUtils.getLong(pageAddr, LAST_SUCCESSFUL_FULL_SNAPSHOT_TAG_OFF); }
/** * @param pageAddr Page address. * @return Next meta page ID. */ public long getNextMetaPageId(long pageAddr) { return PageUtils.getLong(pageAddr, NEXT_META_PAGE_OFF); }