#include "disruptor.h" #include "singleThreadedClaimStrategy.h" #include "yieldingWaitStrategy.h" EventHandler<MyEvent> *myEventHandler1 = new EventHandler<MyEvent> {...}; EventHandler<MyEvent> *myEventHandler2 = new EventHandler<MyEvent> {...}; EventHandler<MyEvent> *myEventHandler3 = new EventHandler<MyEvent> {...}; EventHandler<MyEvent> **myEventHandlers1 = (EventHandler<TestEvent> **)new EventHandler<MyEvent>*[2]; EventHandler<MyEvent> **myEventHandlers2 = (EventHandler<TestEvent> **)new EventHandler<MyEvent>*[1]; myEventHandlers1[0] = myEventHandler1; myEventHandlers1[1] = myEventHandler2; myEventHandlers2[0] = myEventHandler3; SingleThreadedClaimStrategy claimStrategy(8); YieldingWaitStrategy waitStrategy; Disruptor<TestEvent> *disruptor = new Disruptor<TestEvent>(eventInitializer, &claimStrategy, &waitStrategy); disruptor->handleEventsWith(testEventHandlers1, 2)->then(testEventHandlers2, 1); RingBuffer<TestEvent> *ringBuffer = disruptor->start(); . . . int64_t sequence = ringBuffer->next(); MyEvent *event = ringBuffer->get(sequence); ... do something with event ringBuffer->publish(sequence);