Allowing multiple reservations again.
diff --git a/example/example_producer.go b/example/example_producer.go
index ec32ab7..56de36d 100644
--- a/example/example_producer.go
+++ b/example/example_producer.go
@@ -8,8 +8,12 @@
// TODO: return lower, upper instead? or some kind of struct "Reservation"
// upon which commit can be invoked?
if sequence := writer.Reserve(ItemsToPublish); sequence != disruptor.Gating {
- ringBuffer[sequence&RingMask] = sequence
- writer.Commit(sequence, sequence+ItemsToPublish-1)
+ for lower := sequence - ItemsToPublish; lower < sequence; {
+ lower++
+ ringBuffer[(lower)&RingMask] = lower
+ }
+ // ringBuffer[sequence&RingMask] = sequence
+ writer.Commit(sequence-ItemsToPublish+1, sequence)
}
}
}
diff --git a/example/main.go b/example/main.go
index c687b8b..828df11 100644
--- a/example/main.go
+++ b/example/main.go
@@ -8,10 +8,10 @@
const (
MaxConsumersPerGroup = 1
- MaxConsumerGroups = 1
+ MaxConsumerGroups = 2
MaxProducers = 2
- ItemsToPublish = 1
- ReportingFrequency = 1000000 * 10 // 1 million * N
+ ItemsToPublish = 2
+ ReportingFrequency = 1000000 * 1 // 1 million * N
RingSize = 1024 * 16
RingMask = RingSize - 1
)