|
@@ -95,7 +95,7 @@ func (config *ProducerConfig) Validate() error {
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
@@ -228,9 +228,7 @@ func (p *Producer) Input() chan<- *MessageToSend {
|
|
|
|
|
|
|
|
|
func (p *Producer) Close() error {
|
|
|
- go withRecover(func() {
|
|
|
- p.input <- &MessageToSend{flags: shutdown}
|
|
|
- })
|
|
|
+ p.AsyncClose()
|
|
|
|
|
|
if p.config.AckSuccesses {
|
|
|
go withRecover(func() {
|
|
@@ -244,14 +242,22 @@ func (p *Producer) Close() error {
|
|
|
errors = append(errors, event)
|
|
|
}
|
|
|
|
|
|
- close(p.successes)
|
|
|
-
|
|
|
if len(errors) > 0 {
|
|
|
return errors
|
|
|
}
|
|
|
return nil
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+func (p *Producer) AsyncClose() {
|
|
|
+ go withRecover(func() {
|
|
|
+ p.input <- &MessageToSend{flags: shutdown}
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
@@ -306,6 +312,7 @@ func (p *Producer) topicDispatcher() {
|
|
|
}
|
|
|
|
|
|
close(p.errors)
|
|
|
+ close(p.successes)
|
|
|
}
|
|
|
|
|
|
|