2020-08-13 17:00:53 +08:00
|
|
|
package queue
|
|
|
|
|
|
|
|
type (
|
2021-02-22 16:38:42 +08:00
|
|
|
// A Producer interface represents a producer that produces messages.
|
2020-08-13 17:00:53 +08:00
|
|
|
Producer interface {
|
|
|
|
AddListener(listener ProduceListener)
|
|
|
|
Produce() (string, bool)
|
|
|
|
}
|
|
|
|
|
2021-02-22 16:38:42 +08:00
|
|
|
// A ProduceListener interface represents a produce listener.
|
2020-08-13 17:00:53 +08:00
|
|
|
ProduceListener interface {
|
|
|
|
OnProducerPause()
|
|
|
|
OnProducerResume()
|
|
|
|
}
|
|
|
|
|
2021-02-22 16:38:42 +08:00
|
|
|
// ProducerFactory defines the method to generate a Producer.
|
2020-08-13 17:00:53 +08:00
|
|
|
ProducerFactory func() (Producer, error)
|
|
|
|
)
|