@@ -22,6 +22,8 @@ type Server interface {
22
22
23
23
//func(*msg.XXX, error))
24
24
Request (proto.Message , interface {}) error
25
+
26
+ ID () int32
25
27
}
26
28
27
29
type server struct {
@@ -42,6 +44,10 @@ func (p *server) Send(msg proto.Message) {
42
44
p .rpcClient .SendMsg (p .serverTopic , msg )
43
45
}
44
46
47
+ func (p * server ) ID () int32 {
48
+ return p .serverid
49
+ }
50
+
45
51
//func (p *server) Request(msg proto.Message, f func(proto.Message, error)) error {
46
52
// p.rpcClient.Request(p.serverTopic, msg, f)
47
53
// return nil
@@ -92,31 +98,45 @@ func (p *requestserver) Answer(msg proto.Message) {
92
98
p .server .rpcClient .Answer (p .serverTopic , p .seqid , msg )
93
99
}
94
100
101
+ func (p * requestserver ) ID () int32 {
102
+ return p .serverid
103
+ }
104
+
95
105
type Session interface {
96
106
SendMsg (msg proto.Message )
97
107
SendRawMsg (msgID uint16 , data []byte )
108
+ GateSessionID () GateSessionID
109
+ }
110
+
111
+ type GateSessionID struct {
112
+ GateID int32
113
+ SesID int32
98
114
}
99
115
100
116
type session struct {
101
- sid int32
117
+ gsID GateSessionID
102
118
rpcClient * Client
103
- gateID int32
104
119
gateTopic string
105
120
}
106
121
107
122
func NewSession (client * Client , gateID int32 , sesID int32 ) Session {
123
+ g := GateSessionID {GateID : gateID , SesID : sesID }
124
+
108
125
return & session {
109
- sid : sesID ,
110
- gateID : gateID ,
126
+ gsID : g ,
111
127
rpcClient : client ,
112
128
gateTopic : fmt .Sprintf ("%v" , gateID ),
113
129
}
114
130
}
115
131
116
132
func (p * session ) SendMsg (msg proto.Message ) {
117
- p .rpcClient .RouteGate (p .gateTopic , p .sid , msg )
133
+ p .rpcClient .RouteGate (p .gateTopic , p .gsID . SesID , msg )
118
134
}
119
135
120
136
func (p * session ) SendRawMsg (msgID uint16 , data []byte ) {
121
137
122
138
}
139
+
140
+ func (p * session ) GateSessionID () GateSessionID {
141
+ return p .gsID
142
+ }
0 commit comments