Search in sources :

Example 1 with SingleChronicleQueueStore

use of net.openhft.chronicle.queue.impl.single.SingleChronicleQueueStore in project Chronicle-Queue by OpenHFT.

the class RollEOFTest method loadStore.

private SingleChronicleQueueStore loadStore(Wire wire) {
    try {
        Method loadStoreMethod = SingleChronicleQueueBuilder.class.getDeclaredMethod("loadStore", Wire.class);
        loadStoreMethod.setAccessible(true);
        return (SingleChronicleQueueStore) loadStoreMethod.invoke(null, wire);
    } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
        throw new RuntimeException(e);
    }
}
Also used : SingleChronicleQueueStore(net.openhft.chronicle.queue.impl.single.SingleChronicleQueueStore) Method(java.lang.reflect.Method) InvocationTargetException(java.lang.reflect.InvocationTargetException)

Example 2 with SingleChronicleQueueStore

use of net.openhft.chronicle.queue.impl.single.SingleChronicleQueueStore in project Chronicle-Queue by OpenHFT.

the class RollEOFTest method removeEOF.

private void removeEOF(Path path) throws IOException {
    long blockSize = 64 << 10;
    long chunkSize = OS.pageAlign(blockSize);
    long overlapSize = OS.pageAlign(blockSize / 4);
    final MappedBytes mappedBytes = MappedBytes.mappedBytes(path.toFile(), chunkSize, overlapSize, false);
    mappedBytes.reserve();
    try {
        final Wire wire = WireType.BINARY_LIGHT.apply(mappedBytes);
        final Bytes<?> bytes = wire.bytes();
        bytes.readLimit(bytes.capacity());
        bytes.readSkip(4);
        // move past header
        try (final SingleChronicleQueueStore qs = loadStore(wire)) {
            assertNotNull(qs);
            long l = qs.writePosition();
            long len = Wires.lengthOf(bytes.readVolatileInt(l));
            long eofOffset = l + len + 4L;
            bytes.writePosition(eofOffset);
            bytes.writeInt(0);
        }
    } finally {
        mappedBytes.release();
    }
}
Also used : SingleChronicleQueueStore(net.openhft.chronicle.queue.impl.single.SingleChronicleQueueStore) Wire(net.openhft.chronicle.wire.Wire) MappedBytes(net.openhft.chronicle.bytes.MappedBytes)

Aggregations

SingleChronicleQueueStore (net.openhft.chronicle.queue.impl.single.SingleChronicleQueueStore)2 InvocationTargetException (java.lang.reflect.InvocationTargetException)1 Method (java.lang.reflect.Method)1 MappedBytes (net.openhft.chronicle.bytes.MappedBytes)1 Wire (net.openhft.chronicle.wire.Wire)1