/** * Writes next page to the writer. * * @param writer Writer. */ void writePage(BinaryRawWriterEx writer) { Iterator<T> iter = iterator(); int cntPos = writer.reserveInt(); int cnt = 0; while (cnt < pageSize && iter.hasNext()) { T e = iter.next(); writeEntry(writer, e); cnt++; } writer.writeInt(cntPos, cnt); writer.writeBoolean(iter.hasNext()); if (!iter.hasNext()) ctx.resources().release(id); }
/** {@inheritDoc} */ @Override protected void write(BinaryRawWriterEx writer, List vals) { assert vals != null; int rowSizePos = writer.reserveInt(); writer.writeInt(vals.size()); for (Object val : vals) writer.writeObjectDetached(val); int rowEndPos = writer.out().position(); writer.writeInt(rowSizePos, rowEndPos - rowSizePos); }
int pos = writer.reserveInt(); int cnt = 0;
int cntPos = writer.reserveInt(); int pos = writer.reserveInt();
/** * Apply continuous query events to listener. * * @param ctx Context. * @param lsnrPtr Listener pointer. * @param evts Events. * @throws javax.cache.event.CacheEntryListenerException In case of failure. */ public static void applyContinuousQueryEvents(PlatformContext ctx, long lsnrPtr, Iterable<CacheEntryEvent> evts) throws CacheEntryListenerException { assert lsnrPtr != 0; assert evts != null; try (PlatformMemory mem = ctx.memory().allocate()) { PlatformOutputStream out = mem.output(); BinaryRawWriterEx writer = ctx.writer(out); writer.writeLong(lsnrPtr); int cntPos = writer.reserveInt(); int cnt = 0; for (CacheEntryEvent evt : evts) { writeCacheEntryEvent(writer, evt); cnt++; } writer.writeInt(cntPos, cnt); out.synchronize(); ctx.gateway().continuousQueryListenerApply(mem.pointer()); } catch (Exception e) { throw toCacheEntryListenerException(e); } }
int pos = writer.reserveInt();
/** * Writes next page to the writer. * * @param writer Writer. */ void writePage(BinaryRawWriterEx writer) { Iterator<T> iter = iterator(); int cntPos = writer.reserveInt(); int cnt = 0; while (cnt < pageSize && iter.hasNext()) { T e = iter.next(); writeEntry(writer, e); cnt++; } writer.writeInt(cntPos, cnt); writer.writeBoolean(iter.hasNext()); if (!iter.hasNext()) ctx.resources().release(id); }
/** {@inheritDoc} */ @Override protected void write(BinaryRawWriterEx writer, List vals) { assert vals != null; int rowSizePos = writer.reserveInt(); writer.writeInt(vals.size()); for (Object val : vals) writer.writeObjectDetached(val); int rowEndPos = writer.out().position(); writer.writeInt(rowSizePos, rowEndPos - rowSizePos); }
int pos = writer.reserveInt(); int cnt = 0;
int cntPos = writer.reserveInt(); int pos = writer.reserveInt();
/** * Apply continuous query events to listener. * * @param ctx Context. * @param lsnrPtr Listener pointer. * @param evts Events. * @throws javax.cache.event.CacheEntryListenerException In case of failure. */ public static void applyContinuousQueryEvents(PlatformContext ctx, long lsnrPtr, Iterable<CacheEntryEvent> evts) throws CacheEntryListenerException { assert lsnrPtr != 0; assert evts != null; try (PlatformMemory mem = ctx.memory().allocate()) { PlatformOutputStream out = mem.output(); BinaryRawWriterEx writer = ctx.writer(out); writer.writeLong(lsnrPtr); int cntPos = writer.reserveInt(); int cnt = 0; for (CacheEntryEvent evt : evts) { writeCacheEntryEvent(writer, evt); cnt++; } writer.writeInt(cntPos, cnt); out.synchronize(); ctx.gateway().continuousQueryListenerApply(mem.pointer()); } catch (Exception e) { throw toCacheEntryListenerException(e); } }
int pos = writer.reserveInt();