-
Notifications
You must be signed in to change notification settings - Fork 0
/
txcommskeleton.go
73 lines (62 loc) · 2.13 KB
/
txcommskeleton.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
package srvlib
import (
"github.com/breezedup/goserver.v3/core/builtin/action"
"github.com/breezedup/goserver.v3/core/builtin/protocol"
"github.com/breezedup/goserver.v3/core/logger"
"github.com/breezedup/goserver.v3/core/netlib"
"github.com/breezedup/goserver.v3/core/transact"
)
type TxCommSkeleton struct {
}
func (tcs *TxCommSkeleton) SendTransResult(parent, me *transact.TransNodeParam, tr *transact.TransResult) bool {
//logger.Logger.Trace("TxCommSkeleton.SendTransResult")
p := action.ContructTxResultPacket(parent, me, tr)
if p == nil {
return false
}
s := ServerSessionMgrSington.GetSession(parent.AreaID, int(parent.Ot), parent.Oid)
if s == nil {
logger.Logger.Trace("TxCommSkeleton.SendTransResult s=nil")
return false
}
s.Send(int(protocol.CoreBuiltinPacketID_PACKET_SS_TX_RESULT), p)
//logger.Logger.Trace("TxCommSkeleton.SendTransResult success")
return true
}
func (tcs *TxCommSkeleton) SendTransStart(parent, me *transact.TransNodeParam, ud interface{}) bool {
//logger.Logger.Trace("TxCommSkeleton.SendTransStart")
p := action.ContructTxStartPacket(parent, me, ud)
if p == nil {
return false
}
s := ServerSessionMgrSington.GetSession(me.AreaID, int(me.Ot), me.Oid)
if s == nil {
logger.Logger.Trace("TxCommSkeleton.SendTransStart s=nil")
return false
}
s.Send(int(protocol.CoreBuiltinPacketID_PACKET_SS_TX_START), p)
return true
}
func (tcs *TxCommSkeleton) SendCmdToTransNode(tnp *transact.TransNodeParam, c transact.TransCmd) bool {
//logger.Logger.Trace("TxCommSkeleton.SendCmdToTransNode")
p := action.ConstructTxCmdPacket(tnp, c)
if p == nil {
return false
}
s := ServerSessionMgrSington.GetSession(tnp.AreaID, int(tnp.Ot), tnp.Oid)
if s == nil {
logger.Logger.Trace("TxCommSkeleton.SendCmdToTransNode s=nil")
return false
}
s.Send(int(protocol.CoreBuiltinPacketID_PACKET_SS_TX_CMD), p)
return true
}
func (tcs *TxCommSkeleton) GetSkeletonID() int {
return netlib.Config.SrvInfo.Id
}
func (tcs *TxCommSkeleton) GetAreaID() int {
return netlib.Config.SrvInfo.AreaID
}
func init() {
transact.RegisteTxCommSkeleton("github.com/breezedup/goserver.v3/srvlib/txcommskeleton", &TxCommSkeleton{})
}