milvus/pkg/streaming/util/message/message_handler.go
Zhen Ye 2ec6e602d6
enhance: add streaming client metrics (#36523)
issue: #33285

---------

Signed-off-by: chyezh <chyezh@outlook.com>
2024-10-08 21:25:19 +08:00

26 lines
685 B
Go

package message
// Handler is used to handle message read from log.
type Handler interface {
// Handle is the callback for handling message.
Handle(msg ImmutableMessage)
// Close is called after all messages are handled or handling is interrupted.
Close()
}
var _ Handler = ChanMessageHandler(nil)
// ChanMessageHandler is a handler just forward the message into a channel.
type ChanMessageHandler chan ImmutableMessage
// Handle is the callback for handling message.
func (cmh ChanMessageHandler) Handle(msg ImmutableMessage) {
cmh <- msg
}
// Close is called after all messages are handled or handling is interrupted.
func (cmh ChanMessageHandler) Close() {
close(cmh)
}