Package com.higherfrequencytrading.chronicle

Examples of com.higherfrequencytrading.chronicle.Excerpt


        deleteOnExit(basePath);

        IndexedChronicle tsc = new IndexedChronicle(basePath);
        tsc.useUnsafe(USE_UNSAFE);
        tsc.clear();
        Excerpt excerpt = tsc.createExcerpt();
        excerpt.startExcerpt(4);
        String é = "é";
        excerpt.writeUTF(é);
        excerpt.finish();

        assertTrue(excerpt.index(0));
        String e2 = excerpt.readUTF();
        excerpt.finish();
        assertEquals(e2, é);
    }
View Full Code Here


                    tsc.useUnsafe(USE_UNSAFE);
                    final IndexedChronicle tsc2 = new IndexedChronicle(basePath2);
                    tsc2.useUnsafe(USE_UNSAFE);
                    tsc2.clear();

                    Excerpt excerpt = tsc.createExcerpt();
                    Excerpt excerpt2 = tsc2.createExcerpt();
                    for (int i = 0; i < RUNS; i++) {
                        do {
                            pause();
                        } while (!excerpt.index(i));

                        char type = excerpt.readChar();
                        if ('T' != type)
                            assertEquals('T', type);
                        int n = excerpt.readInt();
                        if (i != n)
                            assertEquals(i, n);
                        excerpt.readChars(sb);
                        excerpt.finish();

                        excerpt2.startExcerpt(8);
                        excerpt2.writeChar('R');
                        excerpt2.writeInt(n);
                        excerpt2.writeShort(-1);
                        excerpt2.finish();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                } finally {
                    al2.release();
                }
            }
        });
        t.start();

        al.bind();
        Excerpt excerpt = tsc.createExcerpt();
        Excerpt excerpt2 = tsc2.createExcerpt();
        long start = System.nanoTime();
        int i2 = 0;
        for (int i = 0; i < RUNS; i++) {
            excerpt.startExcerpt(32);
            excerpt.writeChar('T');
            excerpt.writeInt(i);
            excerpt.writeChars("Hello World!");
            excerpt.finish();

            while (excerpt2.index(i2)) {
                char type = excerpt2.readChar();
                if ('R' != type)
                    assertEquals('R', type);
                int n = excerpt2.readInt();
                if (i2 != n)
                    assertEquals(i2, n);
                excerpt2.readShort();
                excerpt2.finish();
                i2++;
            }
        }

        for (; i2 < RUNS; i2++) {
            do {
                pause();
            } while (!excerpt2.index(i2));
            char type = excerpt2.readChar();
            if ('R' != type)
                assertEquals('R', type);
            int n = excerpt2.readInt();
            if (i2 != n)
                assertEquals(i2, n);
            excerpt2.finish();
        }

        t.join();
        long time = System.nanoTime() - start;
        tsc.close();
View Full Code Here

            chronicle = new InProcessChronicleSink(source, hostname2, port2);
        }

        @Override
        public void run() {
            Excerpt excerpt = chronicle.createExcerpt();
            do {
                excerpt.nextIndex();
            } while (!Thread.interrupted());
            chronicle.close();
        }
View Full Code Here

        @Override
        public void run() {
            try {
                long start = System.nanoTime();
                Excerpt excerpt = source.createExcerpt();
                for (int i = 1; i <= WARMUP + RUNS; i++) {
                    long next = start + i * 1000000L / RATE;
                    do {
                        /* busy wait */
                    } while (System.nanoTime() < next);
                    // when it should have been sent, not when it was.
                    excerpt.startExcerpt(128);
                    excerpt.writeLong(next);
                    excerpt.position(128);
                    excerpt.finish();
                }
                future.get();

            } catch (Throwable e) {
                e.printStackTrace();
View Full Code Here

        public void run() {
            System.err.println("... starting reader.");
            Histogram warmup = new Histogram(1000, 100, 7);
            Histogram histo = new Histogram(1000, 100, 7);

            Excerpt excerpt = sink.createExcerpt();
            try {
                for (int i = 0; i < WARMUP + RUNS; i++) {
                    do {
                        /* busy wait */
                    } while (!excerpt.index(i));
                    long next = excerpt.readLong();
                    long took = System.nanoTime() - next;
                    if (i >= WARMUP)
                        histo.sample(took);
                    else
                        warmup.sample(took);
                    excerpt.finish();
                }

                StringBuilder heading = new StringBuilder("runs\trate\twarmup");
                StringBuilder values = new StringBuilder(RUNS + "\t" + RATE + "\t" + WARMUP);
                for (double perc : new double[]{50, 90, 99, 99.9, 99.99, 99.999}) {
View Full Code Here

                .useUnsafe(useUnsafe).build();

        deleteOnExit(basePath);

        tsc.clear();
        Excerpt excerpt = tsc.createExcerpt();

        int counter = 1;
        for (int i = 0; i < 1024; i++) {
            excerpt.startExcerpt(129);
            for (int j = 0; j < 128; j += 8)
                excerpt.writeLong(counter++);
            excerpt.write(-1);
            excerpt.finish();
        }

        int counter2 = 1;
        Excerpt excerpt2 = tsc.createExcerpt();
        while (excerpt2.nextIndex()) {
            for (int j = 0; j < 128; j += 8) {
                long actual = excerpt2.readLong();
                long expected = counter2++;
                if (expected != actual)
                    assertEquals(expected, actual);
            }
            assertEquals(-1, excerpt2.readByte());
            excerpt2.finish();
        }
        assertEquals(counter, counter2);
        assertFalse(excerpt2.index(1024));
        tsc.close();
    }
View Full Code Here

        String basePath = TMP + File.separator + "deleteme.ict";
        deleteOnExit(basePath);
        IndexedChronicle tsc = new IndexedChronicle(basePath, 12);

        tsc.clear();
        Excerpt excerpt = tsc.createExcerpt();
        for (int i = 0; i < 512; i++) {
            excerpt.startExcerpt(1);
            excerpt.writeByte(1);
            excerpt.finish();
        }
        // used to throw NPE if you have finished already.
        excerpt.close();
        tsc.close();

        tsc = new IndexedChronicle(basePath, 12);
        tsc.createExcerpt().close();
        tsc.close(); // used to throw an exception.
View Full Code Here

            int records = 10 * 1000 * 1000;
            {
                IndexedChronicle ic = new IndexedChronicle(basePath);
                ic.useUnsafe(true);
                ic.clear();
                Excerpt excerpt = ic.createExcerpt();
                for (int i = 1; i <= records; i++) {
                    excerpt.startExcerpt(16);
                    excerpt.writeLong(i);
                    excerpt.writeDouble(i);
                    excerpt.finish();
                }
                ic.close();
            }
            {
                IndexedChronicle ic = new IndexedChronicle(basePath);
                ic.useUnsafe(true);
                Excerpt excerpt = ic.createExcerpt();
                for (int i = 1; i <= records; i++) {
                    boolean found = excerpt.nextIndex();
                    if (!found)
                        assertTrue(found);
                    long l = excerpt.readLong();
                    double d = excerpt.readDouble();
                    if (l != i)
                        assertEquals(i, l);
                    if (d != i)
                        assertEquals((double) i, d);
                    excerpt.finish();
                }
                ic.close();
            }
            long time = System.nanoTime() - start;
            System.out.printf("Time taken %,d ms", time / 1000000);
View Full Code Here

        String testPath = TMP + File.separator + "chroncle-bool-test";
        deleteOnExit(testPath);
        IndexedChronicle tsc = new IndexedChronicle(testPath, 12);
        tsc.useUnsafe(false);

        Excerpt excerpt = tsc.createExcerpt();
        excerpt.startExcerpt(2);
        excerpt.writeBoolean(false);
        excerpt.writeBoolean(true);
        excerpt.finish();

        excerpt.index(0);
        boolean one = excerpt.readBoolean();
        boolean onetwo = excerpt.readBoolean();
        tsc.close();

        Assert.assertEquals(false, one);
        Assert.assertEquals(true, onetwo);
    }
View Full Code Here

    public void testStopBitEncoded() throws IOException {
        String testPath = TMP + File.separator + "chroncle-stop-bit";
        IndexedChronicle tsc = new IndexedChronicle(testPath, 12);
        deleteOnExit(testPath);

        Excerpt reader = tsc.createExcerpt();
        Excerpt writer = tsc.createExcerpt();
        long[] longs = {Long.MIN_VALUE, Integer.MIN_VALUE, Short.MIN_VALUE, Character.MIN_VALUE, Byte.MIN_VALUE,
                Long.MAX_VALUE, Integer.MAX_VALUE, Short.MAX_VALUE, Character.MAX_CODE_POINT, Character.MAX_VALUE, Byte.MAX_VALUE};
        for (long l : longs) {
            writer.startExcerpt(12);
            writer.writeChar('T');
            writer.writeStopBit(l);
            writer.finish();

            reader.nextIndex();
            reader.readChar();
            long l2 = reader.readStopBit();
            reader.finish();
            assertEquals(l, l2);
        }
        writer.startExcerpt(longs.length * 10);
        writer.writeChar('t');
        for (long l : longs)
            writer.writeStopBit(l);
        writer.finish();

        reader.nextIndex();
        reader.readChar();
        for (long l : longs) {
            long l2 = reader.readStopBit();
View Full Code Here

TOP

Related Classes of com.higherfrequencytrading.chronicle.Excerpt

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.