From 74f45981e639b92c9435decfeaccb51abf12c16b Mon Sep 17 00:00:00 2001 From: lynx Date: Mon, 9 Sep 2024 17:54:59 +0800 Subject: [PATCH] perf: IP object reuse --- core/engine/routine.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/engine/routine.go b/core/engine/routine.go index 70e873f..1e76dec 100644 --- a/core/engine/routine.go +++ b/core/engine/routine.go @@ -34,8 +34,9 @@ func (e *Engine) RoutineTUNReader() { } payload := e.payloadPool.Get() - payload.Src = ip.Src() + //payload.Src = ip.Src() payload.Dst = ip.Dst() + protocol.ReleaseIP(ip) payload.Data = buff[:n] select { case e.devReader <- payload: @@ -118,6 +119,7 @@ func (e *Engine) RoutineRouteTableWriter() { e.log.Warnf("[RoutineRouteTableWriter] drop packet: %s, because the sending queue is already full", payload.Dst) e.bufferPool.Put(payload.Data) e.payloadPool.Put(payload) + } } }