3 layers of readers.
diff --git a/example/main.go b/example/main.go
index e58e3ba..4c0a54f 100644
--- a/example/main.go
+++ b/example/main.go
@@ -9,7 +9,7 @@
const MaxConsumers = 1
func main() {
- runtime.GOMAXPROCS(MaxConsumers + 2)
+ runtime.GOMAXPROCS(MaxConsumers + 3)
writerCursor := disruptor.NewCursor()
writerBarrier := disruptor.NewBarrier(writerCursor)
@@ -20,7 +20,10 @@
readerCursors2 := startReaders(readerBarrier1, writerCursor)
readerBarrier2 := disruptor.NewBarrier(readerCursors2...)
- writer := disruptor.NewWriter(writerCursor, RingSize, readerBarrier2)
+ readerCursors3 := startReaders(readerBarrier2, writerCursor)
+ readerBarrier3 := disruptor.NewBarrier(readerCursors3...)
+
+ writer := disruptor.NewWriter(writerCursor, RingSize, readerBarrier3)
publish(writer)
}
func startReaders(upstreamBarrier disruptor.Barrier, writerCursor *disruptor.Cursor) (readerCursors []*disruptor.Cursor) {