Skip to content

Commit 9b99045

Browse files
committed
Optimizing internal rpc
1 parent e6dff3b commit 9b99045

File tree

2 files changed

+18
-5
lines changed

2 files changed

+18
-5
lines changed

network/tcp/client_conn.go

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -277,31 +277,37 @@ func (c *clientConn) read() {
277277

278278
switch c.State() {
279279
case network.ConnHanged:
280+
buf.Release()
280281
continue
281282
case network.ConnClosed:
283+
buf.Release()
282284
return
283285
default:
284286
// ignore
285287
}
286288

287289
// ignore empty packet
288290
if buf.Len() == 0 {
291+
buf.Release()
289292
continue
290293
}
291294

292295
isHeartbeat, err := packet.CheckHeartbeat(buf.Bytes())
293296
if err != nil {
294297
log.Errorf("check heartbeat message error: %v", err)
298+
buf.Release()
295299
continue
296300
}
297301

298302
// ignore heartbeat packet
299303
if isHeartbeat {
300-
continue
301-
}
302-
303-
if c.client.receiveHandler != nil {
304-
c.client.receiveHandler(c, buf)
304+
buf.Release()
305+
} else {
306+
if c.client.receiveHandler != nil {
307+
c.client.receiveHandler(c, buf)
308+
} else {
309+
buf.Release()
310+
}
305311
}
306312
}
307313
}

network/tcp/server_conn.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,33 +322,40 @@ func (c *serverConn) read() {
322322

323323
switch c.State() {
324324
case network.ConnHanged:
325+
buf.Release()
325326
continue
326327
case network.ConnClosed:
328+
buf.Release()
327329
return
328330
default:
329331
// ignore
330332
}
331333

332334
// ignore empty packet
333335
if buf.Len() == 0 {
336+
buf.Release()
334337
continue
335338
}
336339

337340
isHeartbeat, err := packet.CheckHeartbeat(buf.Bytes())
338341
if err != nil {
339342
log.Errorf("check heartbeat message error: %v", err)
343+
buf.Release()
340344
continue
341345
}
342346

343347
// ignore heartbeat packet
344348
if isHeartbeat {
349+
buf.Release()
345350
// responsive heartbeat
346351
if c.connMgr.server.opts.heartbeatMechanism == RespHeartbeat {
347352
c.sendHeartbeat(conn)
348353
}
349354
} else {
350355
if c.connMgr.server.receiveHandler != nil {
351356
c.connMgr.server.receiveHandler(c, buf)
357+
} else {
358+
buf.Release()
352359
}
353360
}
354361
}

0 commit comments

Comments
 (0)