@Override public void writeMarshallable(@NotNull WireOut wire) { wire.write(IndexingFields.indexCount).int64(indexCount) .write(IndexingFields.indexSpacing).int64(indexSpacing) .write(IndexingFields.index2Index).int64forBinding(0L, index2Index) .write(IndexingFields.lastIndex).int64forBinding(0L, nextEntryToBeIndexed); }
@Override public void writeMarshallable(@NotNull WireOut wire) { ValueOut valueOut = wire.getValueOut(); for (int i = 0; i < NUMBER_OF_LONGS; i++) valueOut.int64(i); Jvm.pause(writePauseMs); } }
@Override public void writeMarshallable(@NotNull WireOut wire) { wire.write(RollFields.length).int32(length) .write(RollFields.format).text(format) .write(RollFields.epoch).int64(epoch); if (rollTime != null) wire.write(RollFields.rollTime).time(rollTime); if (rollTimeZone != null) wire.write(RollFields.rollTimeZone).text(rollTimeZone.getId()); }
private void writeTestDocument(@NotNull ThreadLocal<ExcerptAppender> tl, String text) { try (DocumentContext dc = tl.get().writingDocument()) { long index = dc.index(); dc.wire().write("key").int64(index); dc.wire().write("text").text(text); } }
private int write(ExcerptAppender appender) { int value; try (DocumentContext writingDocument = appender.writingDocument()) { final long documentAcquireTimestamp = System.nanoTime(); value = wrote.getAndIncrement(); ValueOut valueOut = writingDocument.wire().getValueOut(); // make the message longer valueOut.int64(documentAcquireTimestamp); for (int i = 0; i < NUMBER_OF_INTS; i++) { valueOut.int32(value); } writingDocument.wire().padToCacheAlign(); } return value; } }
@Test public void shouldUnmapMemoryAsCycleRolls() throws Exception { final AtomicLong clock = new AtomicLong(System.currentTimeMillis()); long initialQueueMappedMemory = 0L; try (final ChronicleQueue queue = SingleChronicleQueueBuilder. binary(tmp.newFolder()).testBlockSize().rollCycle(RollCycles.TEST_SECONDLY). timeProvider(clock::get).build()) { for (int i = 0; i < 100; i++) { queue.acquireAppender().writeDocument(System.nanoTime(), (d, t) -> d.int64(t)); clock.addAndGet(TimeUnit.SECONDS.toMillis(1L)); if (initialQueueMappedMemory == 0L) { initialQueueMappedMemory = OS.memoryMapped(); } } } GcControls.waitForGcCycle(); final long timeoutAt = System.currentTimeMillis() + TimeUnit.SECONDS.toMillis(10L); while (System.currentTimeMillis() < timeoutAt) { if (OS.memoryMapped() < 2 * initialQueueMappedMemory) { return; } } fail(String.format("Mapped memory (%dB) did not fall below threshold (%dB)", OS.memoryMapped(), 2 * initialQueueMappedMemory)); } }
try (DocumentContext ctx = rareAppender.writingDocument()) { ctx.wire() .write(() -> "ts").int64(System.currentTimeMillis()) .write(() -> "msg").text(text); try (DocumentContext ctx = appender.writingDocument()) { ctx.wire() .write(() -> "ts").int64(System.currentTimeMillis()) .write(() -> "msg").text(text); try (DocumentContext ctx = rareAppender.writingDocument()) { ctx.wire() .write(() -> "ts").int64(System.currentTimeMillis()) .write(() -> "msg").text(text); try (DocumentContext ctx = rareAppender.writingDocument()) { ctx.wire() .write(() -> "ts").int64(System.currentTimeMillis()) .write(() -> "msg").text(text);
@Before public void before() { path = OS.TARGET + "/" + getClass().getSimpleName() + "-" + System.nanoTime(); try (ChronicleQueue appender_queue = ChronicleQueue.singleBuilder(path) .testBlockSize() .buffered(false) .build()) { ExcerptAppender appender = appender_queue.acquireAppender(); for (int i = 0; i < messages; i++) { final long l = i; appender.writeDocument(wireOut -> wireOut.write("log").marshallable(m -> { m.write("msg").text("hello world ola multi-verse"); m.write("ts").int64(l); } )); } a_index = appender.lastIndexAppended(); } }
dc.wire().write().int64(i);
private void createQueueAndWriteData(TimeProvider timeProvider, File path) { final ChronicleQueue queue = SingleChronicleQueueBuilder .binary(path) .testBlockSize() .rollCycle(RollCycles.TEST_DAILY) .timeProvider(timeProvider) .build(); ExcerptAppender excerptAppender = queue.acquireAppender(); try (DocumentContext dc = excerptAppender.writingDocument(false)) { dc.wire().write(() -> "test").int64(0); } } }
@Test public void testSomeMessages() { try (ChronicleQueue chronicle = builder(getTmpDir(), wireType) .rollCycle(TEST2_DAILY) .build()) { ExcerptAppender appender = chronicle.acquireAppender(); ExcerptTailer tailer = chronicle.createTailer(); int entries = chronicle.rollCycle().defaultIndexSpacing() * 2 + 2; for (long i = 0; i < entries; i++) { long finalI = i; appender.writeDocument(w -> w.writeEventName("hello").int64(finalI)); long seq = chronicle.rollCycle().toSequenceNumber(appender.lastIndexAppended()); assertEquals(i, seq); // System.out.println(chronicle.dump()); tailer.readDocument(w -> w.read().int64(finalI, (a, b) -> Assert.assertEquals((long) a, b))); } } }
@Override public void writeMarshallable(@NotNull WireOut wireOut) { wireOut.write(() -> "constantSize").int64(constantSize); } }
@Override default void writeMarshallable(@NotNull WireOut wire) { wire.write(() -> "deleted").bool(getDeleted()); wire.write(() -> "timestamp").int64(getTimestamp()); wire.write(() -> "identifier").int8(getIdentifier()); for (int i = 0; i < DIRTY_WORD_COUNT; i++) { final int finalI = i; wire.write(() -> "dirtyWord-" + finalI).int64(getDirtyWordAt(i)); } } }
@Override public long createProxy(String type, long token) { createProxy0(type, cspBuff); cspBuff.append("&token=" + token); final long cid = acquireCid(cspBuff); outWire.writeEventName(reply).typePrefix("set-proxy") .marshallable(w -> { w.writeEventName(CoreFields.csp).text(cspBuff); w.writeEventName(CoreFields.cid).int64(cid); }); return cid; }
@Override public void writeMarshallable(@NotNull WireOut wire) { wire.write(RollFields.length).int32(length) .write(RollFields.format).text(format) .write(RollFields.epoch).int64(epoch); if (rollTime != null) wire.write(RollFields.rollTime).time(rollTime); if (rollTimeZone != null) wire.write(RollFields.rollTimeZone).text(rollTimeZone.getId()); }
private static WriteMarshallable heartbeatHandler(final long heartbeatTimeoutMs, final long heartbeatIntervalMs, final long cid) { return w -> w.writeDocument(true, d -> d.writeEventName(CoreFields.csp).text("/") .writeEventName(CoreFields.cid).int64(cid) .writeEventName(CoreFields.handler).typedMarshallable(new HeartbeatHandler(heartbeatTimeoutMs, heartbeatIntervalMs))); }
@Override public long createProxy(final String type) { createProxy0(type, cspBuff); final long cid = acquireCid(cspBuff); outWire.writeEventName(reply).typePrefix("set-proxy") .marshallable(w -> { w.writeEventName(CoreFields.csp).text(cspBuff); w.writeEventName(CoreFields.cid).int64(cid); }); return cid; }