NewRandomPartitioner returns a Partitioner which chooses a random partition each time.
(topic string)
| 97 | |
| 98 | // NewRandomPartitioner returns a Partitioner which chooses a random partition each time. |
| 99 | func NewRandomPartitioner(topic string) Partitioner { |
| 100 | p := new(randomPartitioner) |
| 101 | p.generator = rand.New(rand.NewSource(time.Now().UTC().UnixNano())) |
| 102 | return p |
| 103 | } |
| 104 | |
| 105 | func (p *randomPartitioner) Partition(message *ProducerMessage, numPartitions int32) (int32, error) { |
| 106 | return int32(p.generator.Intn(int(numPartitions))), nil |
no outgoing calls