Skip to content

Commit 6015feb

Browse files
Merge #7
7: Producer#CreateMessage: Separate from struct and use []byte values r=Jaskaranbir a=Jaskaranbir Co-authored-by: Jaskaranbir <jaskaranbir.dhillon@gmail.com>
2 parents e269211 + 4845f35 commit 6015feb

File tree

3 files changed

+23
-20
lines changed

3 files changed

+23
-20
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ go func() {
7272
}()
7373

7474
strTime := strconv.Itoa(int(time.Now().Unix()))
75-
msg := asyncProducer.CreateKeyMessage("test", strTime, "testValue")
75+
msg := producer.CreateKeyMessage("test", strTime, []byte("testValue"))
7676

7777
input, _ := asyncProducer.Input()
7878
input <- msg // Produce message

producer/producer.go

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -68,25 +68,6 @@ func (p *Producer) EnableLogging() {
6868
p.isLoggingEnabled = true
6969
}
7070

71-
// CreateKeyMessage creates producer-formatted message with key
72-
func (p *Producer) CreateKeyMessage(topic string, key string, value string) *sarama.ProducerMessage {
73-
msg := &sarama.ProducerMessage{
74-
Topic: topic,
75-
Value: sarama.StringEncoder(value),
76-
}
77-
78-
if key != "" {
79-
msg.Key = sarama.StringEncoder(key)
80-
}
81-
82-
return msg
83-
}
84-
85-
// CreateMessage creates keyless producer-formatted message
86-
func (p *Producer) CreateMessage(topic string, value string) *sarama.ProducerMessage {
87-
return p.CreateKeyMessage(topic, "", value)
88-
}
89-
9071
// IsClosed returns a bool specifying if Kafka producer is closed
9172
func (p *Producer) IsClosed() bool {
9273
return p.isClosed

producer/producerutils.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package producer
2+
3+
import "github.com/Shopify/sarama"
4+
5+
// CreateKeyMessage creates producer-formatted message with key
6+
func CreateKeyMessage(topic string, key string, value []byte) *sarama.ProducerMessage {
7+
msg := &sarama.ProducerMessage{
8+
Topic: topic,
9+
Value: sarama.ByteEncoder(value),
10+
}
11+
12+
if key != "" {
13+
msg.Key = sarama.StringEncoder(key)
14+
}
15+
16+
return msg
17+
}
18+
19+
// CreateMessage creates keyless producer-formatted message
20+
func CreateMessage(topic string, value []byte) *sarama.ProducerMessage {
21+
return CreateKeyMessage(topic, "", value)
22+
}

0 commit comments

Comments
 (0)