42 lines
809 B
Go
42 lines
809 B
Go
package cs
|
|
|
|
import (
|
|
"f5"
|
|
proto "github.com/golang/protobuf/proto"
|
|
)
|
|
|
|
type CsNetMsgHandler f5.NetMsgHandler[MsgHandler];
|
|
|
|
type MsgHandlerImpl struct {
|
|
}
|
|
|
|
var handlers [2000]*CsNetMsgHandler
|
|
|
|
func GetNetMsgHandler(msgId uint16) *CsNetMsgHandler {
|
|
handler := handlers[msgId]
|
|
return handler
|
|
}
|
|
|
|
func DispatchMsg(handler *CsNetMsgHandler, hdr *f5.MsgHdr, msgHandler MsgHandler) {
|
|
handler.Cb(hdr, msgHandler)
|
|
}
|
|
|
|
func RegHandlerId(msgId int, handlerId int) {
|
|
handler := handlers[msgId]
|
|
handler.HandlerId = handlerId
|
|
}
|
|
|
|
func ParsePb(msgId uint16, data []byte) interface{} {
|
|
handler := handlers[msgId]
|
|
if handler == nil {
|
|
return nil
|
|
}
|
|
return handler.ParseCb(data)
|
|
}
|
|
|
|
type MsgHandler interface {
|
|
}
|
|
|
|
func init() {
|
|
|
|
} |