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; } }
@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(); }
@Override public Long offerAll(@Nonnull Collection<T> t) { if(t.isEmpty()){ return lastId(); } Function<T, Buffer> encoder = codec; int elasticity = 16; Buffer buff; synchronized (monitor) { long count = 0l; for(T v : t) { buff = encoder.apply(v); int len = buff.remaining(); if(count++ == 0){ exAppender.startExcerpt(4 + elasticity*t.size()*len); } exAppender.writeInt(len); exAppender.write(buff.byteBuffer()); size.incrementAndGet(); } lastId.set(exAppender.lastWrittenIndex()); exAppender.finish(); } if (LOG.isTraceEnabled()) { LOG.trace("Offered {} to Chronicle at index {}, size {}", t, lastId(), size()); } return lastId(); }
@Override public void startExcerpt() { wrappedAppender.startExcerpt(); }
@Override public void startExcerpt(long capacity, long index) { super.wrapped.startExcerpt(capacity); } }
@Override public void startExcerpt(long capacity) { wrappedAppender.startExcerpt(capacity); }
@Override public void startExcerpt() { appender.startExcerpt(); }
@Override public void startExcerpt(long capacity) { appender.startExcerpt(capacity); }
public void startExcerpt() { wrapped.startExcerpt(); }
public void startExcerpt(long capacity) { wrapped.startExcerpt(capacity); }
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 ); } }
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; } }
writer.startExcerpt( length ); writer.append( message ); writer.finish();
@Override public void small(MetaData ignored, @NotNull SmallCommand command) { excerpt.startExcerpt(); excerpt.writeEnum(MessageType.small); MetaData.writeForGateway(excerpt); command.writeMarshallable(excerpt); excerpt.finish(); } }
@Override protected boolean onSubmit(final SelectionKey key, long size, boolean ack) throws IOException { readUpTo((int) size); appender.startExcerpt((int) size); appender.write(readBuffer); appender.finish(); pauser.unpause(); if (ack) { sendSizeAndIndex(ChronicleTcp.ACK_LEN, appender.lastWrittenIndex()); } return true; }
@Override public void report(@NotNull MetaData metaData, @NotNull SmallReport smallReport) { excerpt.startExcerpt(); excerpt.writeEnum(MessageType.report); metaData.writeForEngine(excerpt); smallReport.writeMarshallable(excerpt); excerpt.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; }
Chronicle vcron = new VanillaChronicle("vanilla"); ExcerptAppender app = vcron.createAppender(); app.startExcerpt(); app.writeObject(new MessageKey("type", 123L)); app.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; }