@Override public void writeMarshallable(@NotNull WireOut wire) { wire .write(MetaDataField.wireType).object(wireType) .write(MetaDataField.recovery).typedMarshallable(recovery); if (metadata != Metadata.NoMeta.INSTANCE) wire.write(MetaDataField.metadata).typedMarshallable(this.metadata); // align to a word whether needed or not as a micro-optimisation. wire.writeAlignTo(Integer.BYTES, 0); }
@Override public void writeMarshallable(@NotNull WireOut wire) { ValueOut wireOut = wire.write(MetaDataField.writePosition); intForBinding(wireOut, writePosition).write(MetaDataField.indexing).typedMarshallable(this.indexing); wire.padToCacheAlign(); }
@NotNull static SingleChronicleQueueStore createStore(@NotNull RollingChronicleQueue queue, @NotNull Wire wire) { final SingleChronicleQueueStore wireStore = new SingleChronicleQueueStore( queue.rollCycle(), queue.wireType(), (MappedBytes) wire.bytes(), queue.indexCount(), queue.indexSpacing()); wire.writeEventName(MetaDataKeys.header).typedMarshallable(wireStore); return wireStore; }
@Override public void writeMarshallable(@NotNull WireOut wire) { wire .write(MetaDataField.roll).typedMarshallable(roll) .write(MetaDataField.deltaCheckpointInterval).int32(this.deltaCheckpointInterval) .write(MetaDataField.sourceId).int32(this.sourceId); }
@NotNull private Wire toWire(int key) { final MyData myData = new MyData(); myData.key = key; myData.value = Integer.toString(key); Wire result = WireType.BINARY.apply(Bytes.elasticByteBuffer()); try (final DocumentContext dc = result.writingDocument()) { dc.wire().getValueOut().typedMarshallable(myData); } return result; }
@NotNull Wire wire = new BinaryWire(bytes); try (DocumentContext dc = wire.writingDocument(true)) { dc.wire().writeEventName(() -> "header").typedMarshallable( new SingleChronicleQueueStore(RollCycles.HOURLY, WireType.BINARY, bytes, 4 << 10, 4));
w.write(() -> "wireType").object(WireType.BINARY); w.write(() -> "writePosition").int64forBinding(0); w.write(() -> "roll").typedMarshallable(new SCQRoll(RollCycles.TEST4_DAILY, 0, null, null)); w.write(() -> "indexing").typedMarshallable(new SCQIndexing(WireType.BINARY, 32, 4)); w.write(() -> "lastAcknowledgedIndexReplicated").int64forBinding(0); });
@Test public void testReadingWritingMarshallableDocument() { try (final ChronicleQueue chronicle = builder(getTmpDir(), this.wireType) .build()) { MyMarshable myMarshable = new MyMarshable(); final ExcerptAppender appender = chronicle.acquireAppender(); try (DocumentContext dc = appender.writingDocument()) { dc.wire().write("myMarshable").typedMarshallable(myMarshable); } ExcerptTailer tailer = chronicle.createTailer(); try (DocumentContext dc = tailer.readingDocument()) { Assert.assertEquals(myMarshable, dc.wire().read(() -> "myMarshable").typedMarshallable()); } } }
myData.key = i; myData.value = "some value where the key=" + String.valueOf(i); dc.wire().getValueOut().typedMarshallable(myData); time += 300; stp.currentTimeMillis(time);
@Override public void writeMarshallable(@NotNull WireOut wireOut) { wireOut.write(() -> "reader").typedMarshallable(reader); } }
@Override public void writeMarshallable(@NotNull WireOut wireOut) { wireOut.write(() -> "keyReader").typedMarshallable(keyReader); wireOut.write(() -> "keyWriter").typedMarshallable(keyWriter); wireOut.write(() -> "valueReader").typedMarshallable(valueReader); wireOut.write(() -> "valueWriter").typedMarshallable(valueWriter); } }
@Override public void writeMarshallable(@NotNull WireOut wireOut) { wireOut.write(() -> "elementReader").typedMarshallable(elementReader); wireOut.write(() -> "elementWriter").typedMarshallable(elementWriter); } }
@Override public void writeMarshallable(@NotNull WireOut wireOut) { wireOut.write(() -> "elementReader").typedMarshallable(elementReader); wireOut.write(() -> "elementWriter").typedMarshallable(elementWriter); } }
@Override public void writeMarshallable(@NotNull WireOut wireOut) { super.writeMarshallable(wireOut); wireOut.write(() -> "sizedReader").typedMarshallable(sizedReader); wireOut.write(() -> "sizedWriter").typedMarshallable(sizedWriter); } }
@Override public void writeMarshallable(@NotNull WireOut wireOut) { super.writeMarshallable(wireOut); wireOut.write(() -> "reader").typedMarshallable(reader); wireOut.write(() -> "writer").typedMarshallable(writer); } }
@Override public void writeMarshallable(@NotNull WireOut wire) { wire .write(MetaDataField.wireType).object(wireType) .write(MetaDataField.recovery).typedMarshallable(recovery); if (metadata != Metadata.NoMeta.INSTANCE) wire.write(MetaDataField.metadata).typedMarshallable(this.metadata); // align to a word whether needed or not as a micro-optimisation. wire.writeAlignTo(Integer.BYTES, 0); }
@Override public void writeMarshallable(@NotNull WireOut wire) { ValueOut wireOut = wire.write(MetaDataField.writePosition); intForBinding(wireOut, writePosition).write(MetaDataField.indexing).typedMarshallable(this.indexing); wire.padToCacheAlign(); }
@NotNull static SingleChronicleQueueStore createStore(@NotNull RollingChronicleQueue queue, @NotNull Wire wire) { final SingleChronicleQueueStore wireStore = new SingleChronicleQueueStore( queue.rollCycle(), queue.wireType(), (MappedBytes) wire.bytes(), queue.indexCount(), queue.indexSpacing()); wire.writeEventName(MetaDataKeys.header).typedMarshallable(wireStore); return wireStore; }
@Override public void writeMarshallable(@NotNull WireOut wire) { wire .write(MetaDataField.roll).typedMarshallable(roll) .write(MetaDataField.deltaCheckpointInterval).int32(this.deltaCheckpointInterval) .write(MetaDataField.sourceId).int32(this.sourceId); }
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))); }