/** * @param len Length. * @return Allocated direct buffer. */ public static ByteBuffer allocateBuffer(int len) { long ptr = allocateMemory(len); return wrapPointer(ptr, len); }
/** {@inheritDoc} */ @Override public ByteBuffer pageBuffer(long pageAddr) { return wrapPointer(pageAddr, pageSize()); }
/** {@inheritDoc} */ @Override public ByteBuffer pageBuffer(long pageAddr) { return wrapPointer(pageAddr, pageSize()); }
/** * * @param buf Buffer. * @param len New length. * @return Reallocated direct buffer. */ public static ByteBuffer reallocateBuffer(ByteBuffer buf, int len) { long ptr = bufferAddress(buf); long newPtr = reallocateMemory(ptr, len); return wrapPointer(newPtr, len); }
/** * Allocates align memory for use with O_DIRECT and returns native byte buffer. * @param fsBlockSize alignment, FS ans OS block size. * @param size capacity. * @return byte buffer, to be released by {@link #free(ByteBuffer)}. */ public static ByteBuffer allocate(int fsBlockSize, int size) { assert fsBlockSize > 0; assert size > 0; PointerByReference refToPtr = new PointerByReference(); int retVal = IgniteNativeIoLib.posix_memalign(refToPtr, new NativeLong(fsBlockSize), new NativeLong(size)); if (retVal != 0) throw new IgniteOutOfMemoryException("Failed to allocate memory: " + IgniteNativeIoLib.strerror(retVal)); return GridUnsafe.wrapPointer(Pointer.nativeValue(refToPtr.getValue()), size); }
ByteBuffer pageBuf = GridUnsafe.wrapPointer(pageAddr, pageSize);
ByteBuffer buf = GridUnsafe.wrapPointer(pageAdr, pageSize);
wrapPointer(absPtr + PAGE_OVERHEAD, pageSize()), partGeneration( fullPageId.groupId(),
ByteBuffer locBuf = GridUnsafe.wrapPointer(expPageArrd, pageSize); ByteBuffer rmtBuf = GridUnsafe.wrapPointer(actualPageAddr, pageSize);
curPage = wrapPointer(tmpAddr, pageSize());
ByteBuffer buf = wrapPointer(pageAddr, pageSize());
/** * @param len Length. * @return Allocated direct buffer. */ public static ByteBuffer allocateBuffer(int len) { long ptr = allocateMemory(len); return wrapPointer(ptr, len); }
/** {@inheritDoc} */ @Override public ByteBuffer pageBuffer(long pageAddr) { return wrapPointer(pageAddr, pageSize()); }
/** {@inheritDoc} */ @Override public ByteBuffer pageBuffer(long pageAddr) { return wrapPointer(pageAddr, pageSize()); }
/** * * @param buf Buffer. * @param len New length. * @return Reallocated direct buffer. */ public static ByteBuffer reallocateBuffer(ByteBuffer buf, int len) { long ptr = bufferAddress(buf); long newPtr = reallocateMemory(ptr, len); return wrapPointer(newPtr, len); }
wrapPointer(absPtr + PAGE_OVERHEAD, pageSize()), partGeneration( fullPageId.groupId(),
curPage = wrapPointer(tmpAddr, pageSize());
ByteBuffer buf = wrapPointer(pageAddr, pageSize());