protected void writePutAll(Map<? extends K, ? extends V> m) { ExcerptAppender excerpt = getExcerpt(m.size() * messageSizeHint, putAll); long pos = excerpt.position(); excerpt.writeInt(0); // place holder for the actual size. int count = 0; for (Map.Entry<? extends K, ? extends V> entry : m.entrySet()) { K key = entry.getKey(); V value = entry.getValue(); V previous = localCache.put(key, value); if (sameOrNotEqual(previous, value)) { writeKey(excerpt, key); writeValue(excerpt, value); count++; } } excerpt.writeInt(pos, count); excerpt.finish(); }
protected void writePutAll(Map<? extends K, ? extends V> m) { ExcerptAppender excerpt = getExcerpt(m.size() * messageSizeHint, putAll); long pos = excerpt.position(); excerpt.writeInt(0); // place holder for the actual size. int count = 0; for (Map.Entry<? extends K, ? extends V> entry : m.entrySet()) { K key = entry.getKey(); V value = entry.getValue(); V previous = localCache.put(key, value); if (sameOrNotEqual(previous, value)) { writeKey(excerpt, key); writeValue(excerpt, value); count++; } } excerpt.writeInt(pos, count); excerpt.finish(); }
Log write(Encodable e, AppenderHolder holder) { long time = getTimestamp(); long index = holder.getAppenderIndex(time); ExcerptAppender appender = holder.getAppender(time); int contentLength = e.getTotalSize(); int logLength = 8 + 8 + 4 + contentLength; appender.startExcerpt(logLength); appender.writeLong(time); appender.write(RESERVED_META); appender.writeInt(contentLength); e.writeTo(new DirectBuffer(appender.address() + 8 + 8 + 4, contentLength), 0); appender.position(logLength); appender.finish(); this.index = index; return this; }