@Override protected synchronized Object basicGetObject() { DMStats stats = InternalDataSerializer.getDMStats(null); long start = stats.startPdxInstanceDeserialization(); try { return super.basicGetObject(); } finally { stats.endPdxInstanceDeserialization(start); } }
/** * @throws IOException since 6.6.2 */ private static Object readPdxEnum(DataInput in) throws IOException { int dsId = in.readByte(); int tmp = readArrayLength(in); int enumId = dsId << 24 | tmp & 0xFFFFFF; if (logger.isTraceEnabled(LogMarker.SERIALIZER_VERBOSE)) { logger.trace(LogMarker.SERIALIZER_VERBOSE, "read PdxEnum id={}", enumId); } InternalCache internalCache = GemFireCacheImpl .getForPdx("PDX registry is unavailable because the Cache has been closed."); TypeRegistry tr = internalCache.getPdxRegistry(); Object result = tr.getEnumById(enumId); if (result instanceof PdxInstance) { getDMStats(internalCache).incPdxInstanceCreations(); } return result; }
private static Object readPdxSerializable(final DataInput in) throws IOException, ClassNotFoundException { int len = in.readInt(); int typeId = in.readInt(); InternalCache internalCache = GemFireCacheImpl .getForPdx("PDX registry is unavailable because the Cache has been closed."); PdxType pdxType = internalCache.getPdxRegistry().getType(typeId); if (logger.isTraceEnabled(LogMarker.SERIALIZER_VERBOSE)) { logger.trace(LogMarker.SERIALIZER_VERBOSE, "readPdxSerializable pdxType={}", pdxType); } if (pdxType == null) { throw new IllegalStateException("Unknown pdx type=" + typeId); } DMStats dmStats = getDMStats(internalCache); dmStats.incPdxDeserialization(len + 9); // check if PdxInstance needs to be returned. if (pdxType.getNoDomainClass() || internalCache.getPdxReadSerializedByAnyGemFireServices()) { dmStats.incPdxInstanceCreations(); return new PdxInstanceImpl(pdxType, in, len); } else { PdxReaderImpl pdxReader = new PdxReaderImpl(pdxType, in, len); return pdxReader.getObject(); } }
private static Object readPdxInlineEnum(DataInput in) throws IOException, ClassNotFoundException { InternalCache internalCache = GemFireCacheImpl.getInstance(); if (internalCache != null && internalCache.getPdxReadSerializedByAnyGemFireServices()) { String className = DataSerializer.readString(in); String enumName = DataSerializer.readString(in); int enumOrdinal = InternalDataSerializer.readArrayLength(in); getDMStats(internalCache).incPdxInstanceCreations(); return new PdxInstanceEnum(className, enumName, enumOrdinal); } else { Enum<?> e = readGemFireEnum(in); InternalDataSerializer.readArrayLength(in); return e; } }
getDMStats(internalCache).incPdxSerialization(bytesWritten); if (!(out instanceof HeapDataOutputStream)) { writer.sendTo(out);
getDMStats(internalCache).incPdxSerialization(bytesWritten); if (!(out instanceof HeapDataOutputStream)) { writer.sendTo(out);