@Override protected Object getValueField() { return OffHeapRegionEntryHelper._getValue(this); } // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
@Override public Token getValueAsToken() { return OffHeapRegionEntryHelper.getValueAsToken(this); } @Override
private static Token addressToToken(long ohAddress) { if (isOffHeap(ohAddress) || (ohAddress & ENCODED_BIT) != 0) { return Token.NOT_A_TOKEN; } else { return addrToObj[(int) ohAddress>>1]; } }
/** * @return byte[] for the LOB */ public static byte[] convertLOBAddresstoBytes(final UnsafeWrapper unsafe, final long ohAddress) { if (OffHeapRegionEntryHelper.isOffHeap(ohAddress)) { return OffHeapRow.getBaseRowBytes(unsafe, OffHeapByteSource.getBaseDataAddress(ohAddress), OffHeapByteSource.getDataSize(unsafe, ohAddress)); } else { return OffHeapRegionEntryHelper.encodedAddressToExpectedRawBytes( ohAddress, true); } }
@Override protected final void setValueField(@Unretained Object v) { OffHeapRegionEntryHelper.setValue(this, v); } @Override
@Override @Released public final void release() { OffHeapRegionEntryHelper.releaseEntry(this); } private static RegionEntryFactory factory = new RegionEntryFactory() {
@Override @Retained public final Object _getValueRetain(RegionEntryContext context, boolean decompress) { return OffHeapRegionEntryHelper._getValueRetain(this, decompress); } @Override
@Override public Object getDeserializedValue(Region r, RegionEntry re) { return OffHeapRegionEntryHelper.encodedAddressToObject(this.address); }
public static Object prepareValueForCreate(RegionEntryContext r, final byte[] data, boolean skipLastRowIfByteArrayArray) { // fix for bug 47875 MemoryAllocator ma = SimpleMemoryAllocatorImpl.getAllocator(); if (data.length < OffHeapRegionEntryHelper.MAX_LENGTH_FOR_DATA_AS_ADDRESS) { long addr = OffHeapRegionEntryHelper.encodeDataAsAddress(data, false, false); if (addr != 0L) { return new DataAsAddress(addr); } } OffHeapRow mc = (OffHeapRow)ma.allocate(data.length, OffHeapRow.TYPE); mc.writeBytes(0, data); return mc; }
public static void serializeBaseRowBytes(final UnsafeWrapper unsafe, final long baseAddr, final int bytesLen, final DataOutput out) throws IOException { // If the row does not have any lobs, the offheap byte source is not // serialized, else it is serialized InternalDataSerializer.writeArrayLength(bytesLen, out); OffHeapRegionEntryHelper.copyBytesToDataOutput(unsafe, baseAddr, bytesLen, out); SimpleMemoryAllocatorImpl.getAllocator().getStats().incReads(); }
/** * @return byte[] for the LOB */ public static byte[] convertLOBAddresstoBytes(final UnsafeWrapper unsafe, final long ohAddress) { if (OffHeapRegionEntryHelper.isOffHeap(ohAddress)) { return OffHeapRow.getBaseRowBytes( OffHeapByteSource.getBaseDataAddress(ohAddress), OffHeapByteSource.getDataSize(unsafe, ohAddress)); } else { return OffHeapRegionEntryHelper.encodedAddressToExpectedRawBytes( ohAddress, true); } }
@Override protected final void setValueField(@Unretained Object v) { OffHeapRegionEntryHelper.setValue(this, v); } @Override
@Override @Released public final void release() { OffHeapRegionEntryHelper.releaseEntry(this); } private static RegionEntryFactory factory = new RegionEntryFactory() {
@Override @Retained public final Object _getValueRetain(RegionEntryContext context, boolean decompress) { return OffHeapRegionEntryHelper._getValueRetain(this, decompress); } @Override
private static Object encodedAddressToObject(long address) { return OffHeapRegionEntryHelper.encodedAddressToObject(address, false, true); }
public static Object prepareValueForCreate(RegionEntryContext r, final byte[] data, boolean skipLastRowIfByteArrayArray) { // fix for bug 47875 MemoryAllocator ma = SimpleMemoryAllocatorImpl.getAllocator(); if (data.length < OffHeapRegionEntryHelper.MAX_LENGTH_FOR_DATA_AS_ADDRESS) { long addr = OffHeapRegionEntryHelper.encodeDataAsAddress(data, false, false); if (addr != 0L) { return new DataAsAddress(addr); } } OffHeapRow mc = (OffHeapRow)ma.allocate(data.length, OffHeapRow.TYPE); mc.writeBytes(0, data); return mc; }
public static void serializeBaseRowBytes(final UnsafeWrapper unsafe, final long baseAddr, final int bytesLen, final DataOutput out) throws IOException { // If the row does not have any lobs, the offheap byte source is not // serialized, else it is serialized InternalDataSerializer.writeArrayLength(bytesLen, out); OffHeapRegionEntryHelper.copyBytesToDataOutput(unsafe, baseAddr, bytesLen, out); SimpleMemoryAllocatorImpl.getAllocator().getStats().incReads(); }
/** * @return byte[] for the LOB */ public static byte[] convertLOBAddresstoBytes(final UnsafeWrapper unsafe, final long ohAddress) { if (OffHeapRegionEntryHelper.isOffHeap(ohAddress)) { return OffHeapRow.getBaseRowBytes(unsafe, OffHeapByteSource.getBaseDataAddress(ohAddress), OffHeapByteSource.getDataSize(unsafe, ohAddress)); } else { return OffHeapRegionEntryHelper.encodedAddressToExpectedRawBytes( ohAddress, true); } }
@Override protected void setValueField(@Unretained Object v) { OffHeapRegionEntryHelper.setValue(this, v); } @Override
@Override @Unretained protected final Object getValueField() { return OffHeapRegionEntryHelper._getValue(this); } @Override