blob: 9fc18a1b5b5d675b1bebc4bfc0b83c458c4ee296 [file] [log] [blame]
package disruptor
import "math"
type compositeBarrier []*Cursor
func NewCompositeBarrier(sequences ...*Cursor) Barrier {
if len(sequences) == 1 {
return sequences[0]
} else {
return compositeBarrier(sequences)
}
}
func (this compositeBarrier) Load() int64 {
var minimum int64 = math.MaxInt64
for _, item := range this {
if sequence := item.Load(); sequence < minimum {
minimum = sequence
}
}
return minimum
}