blob: 6c6de789cc80b8be6b136af49f3d9160249d0b01 [file] [log] [blame]
package disruptor
type Barrier []*Sequence
func NewBarrier(upstream []*Sequence) Barrier {
buffer := make([]*Sequence, len(upstream))
copy(buffer, upstream)
return Barrier(buffer)
}
func (this Barrier) Load() int64 {
minimum := MaxSequenceValue
for _, item := range this {
cursor := item.Load()
if cursor < minimum {
minimum = cursor
}
}
return minimum
}