/** * Delayed post processing of optimized wrappers. * * @throws IOException If failed. * @throws ClassNotFoundException If failed. */ void delayedRead() throws IOException, ClassNotFoundException { if (wrappers != null) for (GridOptimizedWrapper w = wrappers.poll(); w != null; w = wrappers.poll()) w.delayedReadExternal(this); wrappers = null; // GC. }
/** * Dequeues all previously enqueued wrappers and writes them to the stream. * * @throws IOException If failed. */ void delayedWrite() throws IOException { if (wrappers != null) for (GridOptimizedWrapper w = wrappers.poll(); w != null; w = wrappers.poll()) w.delayedWriteExternal(this); wrappers = null; // GC. }
/** {@inheritDoc} */ @Override protected Object resolveObject(Object obj) throws IOException { if (obj instanceof GridOptimizedWrapper) { GridOptimizedWrapper wrapper = (GridOptimizedWrapper) obj; return wrapper.wrapped(); } else return obj; }