Package com.lmax.disruptor.support

Examples of com.lmax.disruptor.support.StubEntry


        Runnable runnable = new Runnable()
        {
            public void run()
            {
                StubEntry entry = ringBuffer.nextEntry();
                entry.setValue((int) entry.sequence());
                ringBuffer.commit(entry);

                for (StubConsumer stubWorker : workers)
                {
                    stubWorker.sequence_(entry.sequence());
                }
            }
        };

        new Thread(runnable).start();
View Full Code Here


    private void fillRingBuffer(long expectedNumberMessages) throws InterruptedException
    {
        for (long i = 0; i < expectedNumberMessages; i++)
        {
            StubEntry entry = ringBuffer.nextEntry();
            entry.setValue((int)i);
            ringBuffer.commit(entry);
        }
    }
View Full Code Here

    private static final String TEST_VALUE = "Wibble";

    @Test
    public void shouldTranslateOtherDataIntoAnEntry()
    {
        StubEntry entry = StubEntry.ENTRY_FACTORY.create();
        EntryTranslator<StubEntry> entryTranslator = new ExampleEntryTranslator(TEST_VALUE);

        entry = entryTranslator.translateTo(entry);

        Assert.assertEquals(TEST_VALUE, entry.getTestString());
    }
View Full Code Here

    @Test
    public void shouldClaimAndGet() throws Exception
    {
        assertEquals(-1L, ringBuffer.cursor());

        StubEntry expectedEntry = new StubEntry(2701);

        StubEntry oldEntry = ringBuffer.nextEntry();
        oldEntry.copy(expectedEntry);
        ringBuffer.commit(oldEntry);

        long sequence = consumerBarrier.waitFor(0);
        assertEquals(0, sequence);

        StubEntry entry = ringBuffer.entry(sequence);
        assertEquals(expectedEntry, entry);

        assertEquals(0L, ringBuffer.cursor());
    }
View Full Code Here

    @Test
    public void shouldClaimAndGetWithTimeout() throws Exception
    {
        assertEquals(-1L, ringBuffer.cursor());

        StubEntry expectedEntry = new StubEntry(2701);

        StubEntry oldEntry = ringBuffer.nextEntry();
        oldEntry.copy(expectedEntry);
        ringBuffer.commit(oldEntry);

        long sequence = consumerBarrier.waitFor(0, 5, TimeUnit.MILLISECONDS);
        assertEquals(0, sequence);

        StubEntry entry = ringBuffer.entry(sequence);
        assertEquals(expectedEntry, entry);

        assertEquals(0L, ringBuffer.cursor());
    }
View Full Code Here

    @Test
    public void shouldClaimAndGetInSeparateThread() throws Exception
    {
        Future<List<StubEntry>> messages = getMessages(0, 0);

        StubEntry expectedEntry = new StubEntry(2701);

        StubEntry oldEntry = ringBuffer.nextEntry();
        oldEntry.copy(expectedEntry);
        ringBuffer.commit(oldEntry);

        assertEquals(expectedEntry, messages.get().get(0));
    }
View Full Code Here

    public void shouldClaimAndGetMultipleMessages() throws Exception
    {
        int numMessages = ringBuffer.capacity();
        for (int i = 0; i < numMessages; i++)
        {
            StubEntry entry = ringBuffer.nextEntry();
            entry.setValue(i);
            ringBuffer.commit(entry);
        }

        int expectedSequence = numMessages - 1;
        long available = consumerBarrier.waitFor(expectedSequence);
View Full Code Here

    {
        int numMessages = ringBuffer.capacity();
        int offset = 1000;
        for (int i = 0; i < numMessages + offset ; i++)
        {
            StubEntry entry = ringBuffer.nextEntry();
            entry.setValue(i);
            ringBuffer.commit(entry);
        }

        int expectedSequence = numMessages + offset - 1;
        long available = consumerBarrier.waitFor(expectedSequence);
View Full Code Here

    @Test
    public void shouldSetAtSpecificSequence() throws Exception
    {
        long expectedSequence = 5;

        StubEntry expectedEntry = ringBuffer.claimEntryAtSequence(expectedSequence);
        expectedEntry.setValue((int) expectedSequence);
        ringBuffer.commitWithForce(expectedEntry);

        long sequence = consumerBarrier.waitFor(expectedSequence);
        assertEquals(expectedSequence, sequence);

        StubEntry entry = ringBuffer.entry(sequence);
        assertEquals(expectedEntry, entry);

        assertEquals(expectedSequence, ringBuffer.cursor());
    }
View Full Code Here

            @Override
            public void run()
            {
                for (int i = 0; i <= ringBufferSize; i++)
                {
                    StubEntry entry = ringBuffer.nextEntry();
                    entry.setValue(i);
                    ringBuffer.commit(entry);
                    latch.countDown();
                }

                producerComplete.set(true);
View Full Code Here

TOP

Related Classes of com.lmax.disruptor.support.StubEntry

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.