@Override public Object getRawValue() { Object val = OffHeapRegionEntryHelper._getValueRetain(this, false); if (val != null && !Token.isInvalidOrRemoved(val) && val != Token.NOT_AVAILABLE) { CachedDeserializable storedObject = (CachedDeserializable) val; return storedObject.getDeserializedValue(null, this); } return null; } @Override
private static Object exportValue(Object v) { Object result; if (v == Token.INVALID) { result = null; } else if (v instanceof CachedDeserializable) { result = ((CachedDeserializable) v).getDeserializedForReading(); } else { result = v; } return result; }
public int getSizeInBytes() { return getCd().getSizeInBytes(); }
public Object getRawValue() { Object v = this.regionEntry.getValue(null); if (v == null) { return null; } if (v instanceof CachedDeserializable) { if (region.isCopyOnRead()) { v = ((CachedDeserializable)v).getDeserializedWritableCopy(null, null); } else { v = ((CachedDeserializable)v).getDeserializedValue(null, null); } if (v == Token.INVALID || v == Token.LOCAL_INVALID) { v = null; } } else { if (v == Token.INVALID || v == Token.LOCAL_INVALID) { v = null; } else { v = conditionalCopy(v); } } return v; }
if (isCopyOnRead()) { if (disableCopyOnRead) { v = ((CachedDeserializable)v).getDeserializedForReading(); } else { v = ((CachedDeserializable)v).getDeserializedWritableCopy(this, re); v = ((CachedDeserializable)v).getDeserializedValue(this, re);
wasCD = true; if (copy) { value = ((CachedDeserializable)value).getDeserializedWritableCopy(this.region, re); } else { value = ((CachedDeserializable)value).getDeserializedValue( this.region, re); .getObjectSizer(), false); } else { valueSize = old.getValueSizeInBytes();
.getDeserializedValue(null, null); if (actualVal instanceof HAEventWrapper) { HAEventWrapper haEventWrapper = (HAEventWrapper)actualVal; haEventWrapper.setClientUpdateMessage(null); newValue = CachedDeserializableFactory.create(original, ((CachedDeserializable)newValue).getSizeInBytes());
public Object getValue() { if(this.serializedValue != null){ return this.serializedValue; } return getCd().getValue(); } public void writeValueAsByteArray(DataOutput out) throws IOException {
newValueToWrite = ((CachedDeserializable) newValueToWrite).getDeserializedValue(region, null); if (!create && newValueToWrite instanceof Versionable) { @Retained @Released final Object oldValue = getValueInVM(region); // Heap value should always be deserialized at this point // OFFHEAP will not be deserialized if (newValueToWrite instanceof CachedDeserializable) { logger.trace("ProcessChunk: region={}; put a CachedDeserializable ({},{})", region.getFullPath(), getKey(),((CachedDeserializable)newValueToWrite).getStringForm());
return ((CachedDeserializable)this.rawValue).getDeserializedWritableCopy(null, null); } else { return ((CachedDeserializable)this.rawValue).getDeserializedForReading();
actualValueInVM = ((LocalRegion)aRegion).getValueInVM(key); if (actualValueInVM instanceof CachedDeserializable) { cdForm = ((CachedDeserializable)actualValueInVM).getValue(); } else if (actualValueInVM instanceof CachedDeserializable) { if (cdForm instanceof byte[]) { sizeOfObject = ((CachedDeserializable)actualValueInVM).getSizeInBytes(); sizeParts = "CachedDeserializable in byte form, getSizeInBytes() " + sizeOfObject; } else if (cdForm instanceof BaseValueHolder) {
private byte[] getBytes(Object o) { if(o instanceof byte[]) { return (byte[]) o; } if(o instanceof CachedDeserializable) { return ((CachedDeserializable) o).getSerializedValue(); } else { return EntryEventImpl.serialize(o); } }
Object ov = basicGetOldValue(); if(ov instanceof CachedDeserializable && !GemFireCacheImpl.DELTAS_RECALCULATE_SIZE) { vSize = ((CachedDeserializable) ov).getValueSizeInBytes(); } else { vSize = CachedDeserializableFactory.calcMemSize(v, region.getObjectSizer(), false); if (v instanceof CachedDeserializable) { logger.trace("EntryEventImpl.setNewValueInRegion: put CachedDeserializable({},{})", this.getKey(), ((CachedDeserializable)v).getStringForm());
public String getStringForm() { return getCd().getStringForm(); }
public void fillSerializedValue(BytesAndBitsForCompactor wrapper, byte userBits) { if (this.serializedValue != null) { wrapper.setData(this.serializedValue, userBits, this.serializedValue.length, false /* Not Reusable as it refers to underlying value */); } else { getCd().fillSerializedValue(wrapper, userBits); } } public int getValueSizeInBytes() {
public Object getDeserializedWritableCopy(Region rgn, RegionEntry entry) { // TODO OFFHEAP: returns off-heap PdxInstance return OffHeapHelper.getHeapForm(getCd().getDeserializedWritableCopy(rgn, entry)); }
public int getValueSizeInBytes() { return getCd().getValueSizeInBytes(); } public int getSizeInBytes() {
public Object getRawValue() { Object v = this.regionEntry.getValue(null); if (v == null) { return null; } if (v instanceof CachedDeserializable) { if (region.isCopyOnRead()) { v = ((CachedDeserializable)v).getDeserializedWritableCopy(null, null); } else { v = ((CachedDeserializable)v).getDeserializedValue(null, null); } if (v == Token.INVALID || v == Token.LOCAL_INVALID) { v = null; } } else { if (v == Token.INVALID || v == Token.LOCAL_INVALID) { v = null; } else { v = conditionalCopy(v); } } return v; }
if (isCopyOnRead()) { if (disableCopyOnRead) { v = ((CachedDeserializable)v).getDeserializedForReading(); } else { v = ((CachedDeserializable)v).getDeserializedWritableCopy(this, re); v = ((CachedDeserializable)v).getDeserializedValue(this, re);
wasCD = true; if (copy) { value = ((CachedDeserializable)value).getDeserializedWritableCopy(this.region, re); } else { value = ((CachedDeserializable)value).getDeserializedValue( this.region, re); .getObjectSizer(), false); } else { valueSize = old.getValueSizeInBytes();