blob: 3607547a3fb81d642fba84b3366a796cea381af0 [file] [log] [blame]
package main
import "github.com/smartystreets/go-disruptor"
func publish(id int, writer *disruptor.SharedWriter) {
// fmt.Printf("[PRODUCER %d] Starting producer...\n", id)
for {
if sequence := writer.Reserve(id, ItemsToPublish); sequence != disruptor.Gating {
// fmt.Printf("[PRODUCER %d] Writing %d to slot %d\n", id, sequence, sequence)
ringBuffer[sequence&RingMask] = sequence
// fmt.Printf("[PRODUCER %d] Committing sequence %d\n", id, sequence)
writer.Commit(sequence)
// } else {
// // fmt.Println("[PRODUCER] Gating")
// //time.Sleep(time.Millisecond)
}
}
}