Internal naming.
diff --git a/example/main.go b/example/main.go
index 60be560..8a311fd 100644
--- a/example/main.go
+++ b/example/main.go
@@ -10,9 +10,9 @@
MaxConsumersPerGroup = 1
MaxConsumerGroups = 1
MaxProducers = 1
- ItemsToPublish = 4
- ReportingFrequency = 1000000 * 10 // 1 million * N
- RingSize = 1024 * 16
+ ItemsToPublish = 1
+ ReportingFrequency = 1024 //1000000 * 10 // 1 million * N
+ RingSize = 2
RingMask = RingSize - 1
)
@@ -26,7 +26,6 @@
upstream := startConsumerGroups(written, written)
writer := disruptor.NewSharedWriter(shared, upstream)
// writer := disruptor.NewWriter(written, upstream, RingSize)
-
// startExclusiveProducer(writer)
startSharedProducers(writer)
}
diff --git a/shared_writer.go b/shared_writer.go
index ef8a2fb..871f699 100644
--- a/shared_writer.go
+++ b/shared_writer.go
@@ -8,18 +8,18 @@
mask int64
shift uint8
committed []int32
- read Barrier
+ upstream Barrier
written *Cursor
}
-func NewSharedWriter(write *SharedWriterBarrier, read Barrier) *SharedWriter {
+func NewSharedWriter(write *SharedWriterBarrier, upstream Barrier) *SharedWriter {
return &SharedWriter{
capacity: write.capacity,
gate: InitialSequenceValue,
mask: write.mask,
shift: write.shift,
committed: write.committed,
- read: read,
+ upstream: upstream,
written: write.written,
}
}
@@ -31,7 +31,7 @@
wrap := upper - this.capacity
if wrap > this.gate {
- min := this.read.LoadBarrier(0)
+ min := this.upstream.LoadBarrier(0)
if wrap > min {
return InitialSequenceValue, Gating
}
diff --git a/shared_writer_barrier.go b/shared_writer_barrier.go
index 2cf5e52..a2d4204 100644
--- a/shared_writer_barrier.go
+++ b/shared_writer_barrier.go
@@ -32,6 +32,7 @@
func (this *SharedWriterBarrier) LoadBarrier(lower int64) int64 {
shift, mask := this.shift, this.mask
upper := this.written.Load()
+
for ; lower <= upper; lower++ {
if this.committed[lower&mask] != int32(lower>>shift) {
return lower - 1