Standard naming.
diff --git a/example/example_consumer.go b/example/example_consumer.go
index cd5eeff..ac65ebf 100644
--- a/example/example_consumer.go
+++ b/example/example_consumer.go
@@ -15,6 +15,9 @@
func consume1(reader *disruptor.Reader) {
started := time.Now()
+ debug := make([]int64, 5)
+ debug = debug[0:]
+
for {
sequence, remaining := reader.Receive()
if remaining >= 0 {
@@ -28,12 +31,17 @@
message := ringBuffer[sequence&RingMask]
if sequence != message {
+ for i := sequence - 5; i <= sequence; i++ {
+ debug = append(debug, ringBuffer[i&RingMask])
+ }
+
alert := fmt.Sprintf("Race Condition::Sequence: %d, Message %d\n", sequence, message)
- fmt.Print(alert)
+ fmt.Println(alert)
+ fmt.Println("Partial Ring Buffer Snapshot:", debug)
panic(alert)
}
- ringBuffer[sequence&RingMask] = sequence % 2
+ //ringBuffer[sequence&RingMask] = sequence % 2
remaining--
sequence++
diff --git a/example/main.go b/example/main.go
index 04af866..c687b8b 100644
--- a/example/main.go
+++ b/example/main.go
@@ -8,8 +8,8 @@
const (
MaxConsumersPerGroup = 1
- MaxConsumerGroups = 2
- MaxProducers = 1
+ MaxConsumerGroups = 1
+ MaxProducers = 2
ItemsToPublish = 1
ReportingFrequency = 1000000 * 10 // 1 million * N
RingSize = 1024 * 16
diff --git a/writer.go b/writer.go
index bd1c47c..b70e232 100644
--- a/writer.go
+++ b/writer.go
@@ -27,8 +27,8 @@
}
}
-func (this *Writer) Reserve(items int64) int64 {
- next := this.previous + items
+func (this *Writer) Reserve(count int64) int64 {
+ next := this.previous + count
wrap := next - this.capacity
if wrap > this.gate {