go_dreamfactory/comm/core.go
2022-06-01 17:41:48 +08:00

57 lines
1.6 KiB
Go

package comm
import (
"reflect"
"github.com/liwei1dao/lego/core"
"google.golang.org/protobuf/proto"
)
const (
SC_ServiceGateRouteComp core.S_Comps = "SC_GateRouteComp" //s_comps.ISC_GateRouteComp
)
const (
SM_GateModule core.M_Modules = "gateway" //gate模块 网关服务模块
SM_WebModule core.M_Modules = "web" //web模块
SM_LoginModule core.M_Modules = "login" //web模块
)
const ( //Rpc
Rpc_GatewayRoute core.Rpc_Key = "Rpc_GatewayRoute" //网关路由
Rpc_GatewayAgentBuild core.Rpc_Key = "Rpc_GatewayAgentBuild" //代理绑定 绑定用户Id
Rpc_GatewayAgentUnBuild core.Rpc_Key = "Rpc_GatewayAgentUnBuild" //代理解绑 解绑用户Id
Rpc_GatewayAgentSendMsg core.Rpc_Key = "Rpc_GatewayAgentSendMsg" //代理发送消息 向用户发送消息
Rpc_GatewaySendBatchMsg core.Rpc_Key = "Rpc_GatewaySendBatchMsg" //向多个用户发送消息
Rpc_GatewaySendRadioMsg core.Rpc_Key = "Rpc_GatewaySendRadioMsg" //广播消息
Rpc_GatewayAgentClose core.Rpc_Key = "Rpc_GatewayAgentClose" //代理关闭 关闭用户连接
)
type ISC_GateRouteComp interface {
core.IServiceComp
RegisterRoute(methodName string, comp reflect.Value, msg reflect.Type, fn reflect.Method)
}
//用户会话
type IUserSession interface {
GetSessionId() string
GetIP() string
GetGatewayServiceId() string
Build(uid uint32) (err error)
UnBuild(ServiceMethod string, msg proto.Message) (err error)
SendMsg(ServiceMethod string, msg proto.Message) (err error)
Close() (err error)
ToString() string
}
//消息体
type MessageHead struct {
ServiceMethod string //服务名
}
//处理JSON消息
type Message struct {
Head *MessageHead
Data []byte
}