/** * used by {@link net.openhft.chronicle.wire.Demarshallable} * * @param wire a wire */ @UsedViaReflection private SingleChronicleQueueStore(@NotNull WireIn wire) { assert wire.startUse(); try { writePosition = loadWritePosition(wire); this.mappedBytes = (MappedBytes) (wire.bytes()); this.mappedFile = mappedBytes.mappedFile(); this.refCount = ReferenceCounter.onReleased(this::onCleanup); this.indexing = Objects.requireNonNull(wire.read(MetaDataField.indexing).typedMarshallable()); assert indexing != null; this.indexing.writePosition = writePosition; this.sequence = new RollCycleEncodeSequence(writePosition, rollIndexCount(), rollIndexSpacing()); this.indexing.sequence = sequence; } finally { assert wire.endUse(); } }
/** * used by {@link Demarshallable} * * @param wire a wire */ @SuppressWarnings("unused") @UsedViaReflection private SingleTableStore(@NotNull WireIn wire) { assert wire.startUse(); try { this.wireType = Objects.requireNonNull(wire.read(MetaDataField.wireType).object(WireType.class)); this.mappedBytes = (MappedBytes) (wire.bytes()); this.mappedFile = mappedBytes.mappedFile(); this.refCount = ReferenceCounter.onReleased(this::onCleanup); if (wire.bytes().readRemaining() > 0) { this.recovery = Objects.requireNonNull(wire.read(MetaDataField.recovery).typedMarshallable()); } else { this.recovery = new SimpleStoreRecovery(); // disabled. } if (wire.bytes().readRemaining() > 0) { this.metadata = Objects.requireNonNull(wire.read(MetaDataField.metadata).typedMarshallable()); } else { this.metadata = (T) Metadata.NoMeta.INSTANCE; } mappedWire = wireType.apply(mappedBytes); } finally { assert wire.endUse(); } }
@SuppressWarnings("unchecked") public void process(@NotNull WireIn in, @NotNull WireOut out, @NotNull C collection, @NotNull BiConsumer toWire, @NotNull Function fromWire, @NotNull Supplier factory, long tid) { this.fromWire = fromWire; this.toWire = toWire; this.underlyingCollection = collection; this.factory = factory; try { this.inWire = in; this.outWire = out; this.tid = tid; assert in.startUse(); dataConsumer.readMarshallable(in); } catch (RuntimeException e) { Jvm.warn().on(getClass(), e); }finally { assert in.endUse(); } }
@Override protected void onRead(@NotNull final DocumentContext inDc, @NotNull final WireOut out) { WireIn in = inDc.wire(); assert in.startUse(); sessionProvider.set(nc().sessionDetails()); try { onRead0(inDc, out, in); } finally { sessionProvider.remove(); assert in.endUse(); } }
/** * used by {@link net.openhft.chronicle.wire.Demarshallable} * * @param wire a wire */ @UsedViaReflection private SingleChronicleQueueStore(@NotNull WireIn wire) { assert wire.startUse(); try { writePosition = loadWritePosition(wire); this.mappedBytes = (MappedBytes) (wire.bytes()); this.mappedFile = mappedBytes.mappedFile(); this.refCount = ReferenceCounter.onReleased(this::onCleanup); this.indexing = Objects.requireNonNull(wire.read(MetaDataField.indexing).typedMarshallable()); this.indexing.writePosition = writePosition; this.sequence = new RollCycleEncodeSequence(writePosition, rollIndexCount(), rollIndexSpacing()); this.indexing.sequence = sequence; } finally { assert wire.endUse(); } }
/** * used by {@link Demarshallable} * * @param wire a wire */ @SuppressWarnings("unused") @UsedViaReflection private SingleTableStore(@NotNull WireIn wire) { assert wire.startUse(); try { this.wireType = Objects.requireNonNull(wire.read(MetaDataField.wireType).object(WireType.class)); this.mappedBytes = (MappedBytes) (wire.bytes()); this.mappedFile = mappedBytes.mappedFile(); this.refCount = ReferenceCounter.onReleased(this::onCleanup); if (wire.bytes().readRemaining() > 0) { this.recovery = Objects.requireNonNull(wire.read(MetaDataField.recovery).typedMarshallable()); } else { this.recovery = new SimpleStoreRecovery(); // disabled. } if (wire.bytes().readRemaining() > 0) { this.metadata = Objects.requireNonNull(wire.read(MetaDataField.metadata).typedMarshallable()); } else { this.metadata = (T) Metadata.NoMeta.INSTANCE; } mappedWire = wireType.apply(mappedBytes); } finally { assert wire.endUse(); } }