From 019850efd673cfb540bad6559c5614d4f666cb73 Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Mon, 14 Dec 2020 11:55:42 +0700 Subject: [PATCH] use a buffer from the pool for composing Retry packets --- server.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/server.go b/server.go index 1df61d17..00de7954 100644 --- a/server.go +++ b/server.go @@ -565,10 +565,15 @@ func (s *baseServer) sendRetry(remoteAddr net.Addr, hdr *wire.Header) error { replyHdr.SrcConnectionID = srcConnID replyHdr.DestConnectionID = hdr.SrcConnectionID replyHdr.Token = token - s.logger.Debugf("Changing connection ID to %s.", srcConnID) - s.logger.Debugf("-> Sending Retry") - replyHdr.Log(s.logger) - buf := &bytes.Buffer{} + if s.logger.Debug() { + s.logger.Debugf("Changing connection ID to %s.", srcConnID) + s.logger.Debugf("-> Sending Retry") + replyHdr.Log(s.logger) + } + + packetBuffer := getPacketBuffer() + defer packetBuffer.Release() + buf := bytes.NewBuffer(packetBuffer.Data) if err := replyHdr.Write(buf, hdr.Version); err != nil { return err }