33 lines
562 B
Go

package msghandlers
import (
"daemonSocketExample/daemonconn"
)
type MessageHandler func(daemonconn.Message) error
var Handlers = map[uint32]MessageHandler{
daemonconn.MessageTypeEchoRequest: handleEchoRequest,
}
func HandleDaemonConn(conn daemonconn.DaemonConn) error {
msg, err := conn.ReadMessage()
for err == nil {
err := handleMessage(msg)
if err != nil {
return err
}
msg, err = conn.ReadMessage()
}
return err
}
func handleMessage(msg daemonconn.Message) error {
handlerFunc := Handlers[msg.TypeID()]
return handlerFunc(msg)
}