@Override public Long offer(@Nonnull T t) { synchronized (monitor) { Buffer buff = codec.apply(t); int len = buff.remaining(); exAppender.startExcerpt(4 + len); exAppender.writeInt(len); exAppender.write(buff.byteBuffer()); exAppender.finish(); size.incrementAndGet(); lastId.set(exAppender.lastWrittenIndex()); } if (LOG.isTraceEnabled()) { LOG.trace("Offered {} to Chronicle at index {}, size {}", t, lastId(), size()); } return lastId(); }
private void writeValue(ExcerptAppender excerpt, V value) { if (valueCodec == null) { excerpt.writeObject(value); } else { Buffer buff = valueCodec.apply(value); int size = buff.remaining(); excerpt.writeInt(size); excerpt.write(buff.byteBuffer()); } }
private ExcerptAppender getExcerpt(int maxSize, MapStream.Operation event) { ExcerptAppender writeExcerpt; try { writeExcerpt = chronicle.createAppender(); } catch (IOException e) { throw new IllegalStateException(e); } writeExcerpt.startExcerpt(maxSize + 2 + event.name().length()); writeExcerpt.writeEnum(event); return writeExcerpt; } }
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(); }
static void write(ExcerptAppender ex, LoggingEvent evt, boolean includeCallerData, int vers) { ex.startExcerpt(32 * 1024); ex.writeInt(vers); ex.writeLong(evt.getTimeStamp()); ex.writeInt(evt.getLevel().toInt()); ex.writeInt(argLen); ex.writeInt(propsLen); ex.writeInt(callerDataLen); ex.writeUTF(evt.getThreadName()); ex.writeUTF(evt.getLoggerName()); ex.writeUTF(evt.getMessage()); ex.writeUTF(args[i].toString()); ex.writeUTF(entry.getKey()); ex.writeUTF(entry.getValue()); ex.writeObject(callerData[i]); ex.writeBoolean(hasCause); if (hasCause) { ex.writeObject((Throwable) evt.getThrowableProxy()); ex.finish();
Log write(AppenderHolder holder) { long time = getTimestamp(); long index = holder.getAppenderIndex(time); ExcerptAppender appender = holder.getAppender(time); appender.startExcerpt(getLength()); appender.writeLong(time); appender.write(RESERVED_META); appender.writeInt(content.length); appender.write(content); appender.finish(); this.index = index; return this; }
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; }
@Override public void small(MetaData ignored, @NotNull SmallCommand command) { excerpt.startExcerpt(); excerpt.writeEnum(MessageType.small); MetaData.writeForGateway(excerpt); command.writeMarshallable(excerpt); excerpt.finish(); } }
public final void appendMessage( final String message ) { try { ExcerptAppender writer = chronicle.createAppender(); writer.startExcerpt( STRING_SIZE_OVERHEAD + message.length() ); writer.append( message ); writer.finish(); } catch( Exception e ) { LOGGER.warn("Failed to persist Message [{}]", message ); LOGGER.warn("Exception: ", e ); } }
return false; case ChronicleTcp.PADDED_LEN: appender.startExcerpt(((IndexedChronicle) chronicle).config().dataBlockSize() - 1); return true; case ChronicleTcp.SYNC_IDX_LEN: appender.startExcerpt(size); remaining -= size2; buffer.limit(buffer.position() + size2); appender.write(buffer); buffer.flip(); remaining -= buffer.remaining(); appender.write(buffer); appender.finish(); } catch (IOException e) { logger.info("Lost connection to {} retrying", address, e);
Chronicle vcron = new VanillaChronicle("vanilla"); ExcerptAppender app = vcron.createAppender(); app.startExcerpt(); app.writeObject(new MessageKey("type", 123L)); app.finish();
@Override public void startExcerpt(long capacity, long index) { super.wrapped.startExcerpt(capacity); } }
@Override public void clear() { ExcerptAppender writeExcerpt = getExcerpt(16, clear); writeExcerpt.finish(); }
@Override public void writeEnum(long l, int i, Object o) { wrapped.writeEnum(l, i, o); } }
public long index() { return wrapped.index(); }
static void write(ExcerptAppender ex, LoggingEvent evt, boolean includeCallerData, int vers) { ex.startExcerpt(32 * 1024); ex.writeInt(vers); ex.writeLong(evt.getTimeStamp()); ex.writeInt(evt.getLevel().toInt()); ex.writeInt(argLen); ex.writeInt(propsLen); ex.writeInt(callerDataLen); ex.writeUTF(evt.getThreadName()); ex.writeUTF(evt.getLoggerName()); ex.writeUTF(evt.getMessage()); ex.writeUTF(args[i].toString()); ex.writeUTF(entry.getKey()); ex.writeUTF(entry.getValue()); ex.writeObject(callerData[i]); ex.writeBoolean(hasCause); if (hasCause) { ex.writeObject((Throwable) evt.getThrowableProxy()); ex.finish();
/** * @see com.ottogroup.bi.spqr.pipeline.queue.StreamingMessageQueueProducer#insert(com.ottogroup.bi.spqr.pipeline.message.StreamingDataMessage) */ public boolean insert(StreamingDataMessage message) { // TODO add concurrency handler to support multiple writers properly if(message != null) { synchronized (queueProducer) { queueProducer.startExcerpt(); queueProducer.writeLong(message.getTimestamp()); queueProducer.writeInt(message.getBody().length); queueProducer.write(message.getBody()); queueProducer.finish(); if(this.messageInsertionCounter != null) this.messageInsertionCounter.inc(); return true; } } return false; }
@Override public void report(@NotNull MetaData metaData, @NotNull SmallReport smallReport) { excerpt.startExcerpt(); excerpt.writeEnum(MessageType.report); metaData.writeForEngine(excerpt); smallReport.writeMarshallable(excerpt); excerpt.finish(); } }
writer.startExcerpt( length ); writer.append( message ); writer.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(); }