@@ -12,6 +12,7 @@ import (
1212 "fmt"
1313 "sync"
1414 "sync/atomic"
15+ "time"
1516
1617 "github.com/dobyte/due/v2/cluster"
1718 "github.com/dobyte/due/v2/component"
@@ -149,35 +150,31 @@ func (g *Gate) handleConnect(conn network.Conn) {
149150
150151 cid , uid := conn .ID (), conn .UID ()
151152
152- ctx , cancel := context .WithTimeout (g .ctx , g .opts .timeout )
153- g .proxy .trigger (ctx , cluster .Connect , cid , uid )
154- cancel ()
153+ g .proxy .trigger (g .ctx , cluster .Connect , cid , uid )
155154}
156155
157156// 处理断开连接
158157func (g * Gate ) handleDisconnect (conn network.Conn ) {
159158 g .session .RemConn (conn )
160159
161- if cid , uid := conn .ID (), conn .UID (); uid != 0 {
162- ctx , cancel := context .WithTimeout (g .ctx , g .opts .timeout )
160+ cid , uid := conn .ID (), conn .UID ()
161+
162+ if uid != 0 {
163+ ctx , cancel := context .WithTimeout (g .ctx , 3 * time .Second )
163164 _ = g .proxy .unbindGate (ctx , cid , uid )
164- g .proxy .trigger (ctx , cluster .Disconnect , cid , uid )
165- cancel ()
166- } else {
167- ctx , cancel := context .WithTimeout (g .ctx , g .opts .timeout )
168- g .proxy .trigger (ctx , cluster .Disconnect , cid , uid )
169165 cancel ()
170166 }
171167
168+ g .proxy .trigger (g .ctx , cluster .Disconnect , cid , uid )
169+
172170 g .wg .Done ()
173171}
174172
175173// 处理接收到的消息
176174func (g * Gate ) handleReceive (conn network.Conn , data []byte ) {
177175 cid , uid := conn .ID (), conn .UID ()
178- ctx , cancel := context .WithTimeout (g .ctx , g .opts .timeout )
179- g .proxy .deliver (ctx , cid , uid , data )
180- cancel ()
176+
177+ g .proxy .deliver (g .ctx , cid , uid , data )
181178}
182179
183180// 启动传输服务器
@@ -218,7 +215,7 @@ func (g *Gate) registerServiceInstance() {
218215 Metadata : g .opts .metadata ,
219216 }
220217
221- ctx , cancel := context .WithTimeout (g .ctx , defaultTimeout )
218+ ctx , cancel := context .WithTimeout (g .ctx , 3 * time . Second )
222219 defer cancel ()
223220
224221 if err := g .opts .registry .Register (ctx , g .instance ); err != nil {
@@ -234,7 +231,7 @@ func (g *Gate) refreshServiceInstance() {
234231
235232 g .instance .State = g .getState ().String ()
236233
237- ctx , cancel := context .WithTimeout (g .ctx , defaultTimeout )
234+ ctx , cancel := context .WithTimeout (g .ctx , 3 * time . Second )
238235 defer cancel ()
239236
240237 if err := g .opts .registry .Register (ctx , g .instance ); err != nil {
@@ -244,7 +241,7 @@ func (g *Gate) refreshServiceInstance() {
244241
245242// 解注册服务实例
246243func (g * Gate ) deregisterServiceInstance () {
247- ctx , cancel := context .WithTimeout (g .ctx , defaultTimeout )
244+ ctx , cancel := context .WithTimeout (g .ctx , 3 * time . Second )
248245 defer cancel ()
249246
250247 if err := g .opts .registry .Deregister (ctx , g .instance ); err != nil {
0 commit comments