mirror of
https://github.com/FlourishingWorld/hk4e.git
synced 2026-02-04 14:22:26 +08:00
客户端协议代理功能
This commit is contained in:
34
common/utils/utils.go
Normal file
34
common/utils/utils.go
Normal file
@@ -0,0 +1,34 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"hk4e/common/config"
|
||||
"hk4e/pkg/logger"
|
||||
"hk4e/pkg/object"
|
||||
|
||||
pb "google.golang.org/protobuf/proto"
|
||||
)
|
||||
|
||||
func UnmarshalProtoObj(serverProtoObj pb.Message, clientProtoObj pb.Message, data []byte) bool {
|
||||
if config.CONF.Hk4e.ClientProtoProxyEnable {
|
||||
err := pb.Unmarshal(data, clientProtoObj)
|
||||
if err != nil {
|
||||
logger.Error("parse client proto obj error: %v", err)
|
||||
return false
|
||||
}
|
||||
delList, err := object.CopyProtoBufSameField(serverProtoObj, clientProtoObj)
|
||||
if err != nil {
|
||||
logger.Error("copy proto obj error: %v", err)
|
||||
return false
|
||||
}
|
||||
if len(delList) != 0 {
|
||||
logger.Error("delete field name list: %v", delList)
|
||||
}
|
||||
} else {
|
||||
err := pb.Unmarshal(data, serverProtoObj)
|
||||
if err != nil {
|
||||
logger.Error("parse server proto obj error: %v", err)
|
||||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
Reference in New Issue
Block a user