File tree Expand file tree Collapse file tree 2 files changed +18
-5
lines changed
Expand file tree Collapse file tree 2 files changed +18
-5
lines changed Original file line number Diff line number Diff 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 }
Original file line number Diff line number Diff 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 }
You can’t perform that action at this time.
0 commit comments