mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-11-02 09:22:11 +08:00
24 lines
656 B
Go
24 lines
656 B
Go
package mq
|
|
|
|
type Consumer interface {
|
|
// RegisterMessageHandler is used to register message handler
|
|
// any received messages will be passed to handler to process
|
|
// once the Consumer started, it is forbidden to register handlers.
|
|
RegisterMessageHandler(topic string, handler MessageHandler)
|
|
|
|
// Start to consume messages
|
|
Start() error
|
|
}
|
|
|
|
type MessageHandler interface {
|
|
// HandleMessage process received messages,
|
|
// if returned error is nil, the message will be auto committed.
|
|
HandleMessage(msg *Message) error
|
|
}
|
|
|
|
type MessageHandleFunc func(msg *Message) error
|
|
|
|
func (fn MessageHandleFunc) HandleMessage(msg *Message) error {
|
|
return fn(msg)
|
|
}
|