From: Matt Joiner Date: Thu, 29 Dec 2022 08:41:36 +0000 (+1100) Subject: Resize packet buffer to avoid wasting memory X-Git-Tag: v1.49.0~7^2~5 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=4f8826483ead1e42b27783d3e8d234610b3ab02c;p=btrtrc.git Resize packet buffer to avoid wasting memory --- diff --git a/tracker/udp/server/server.go b/tracker/udp/server/server.go index cd9d9f0f..c686a23d 100644 --- a/tracker/udp/server/server.go +++ b/tracker/udp/server/server.go @@ -205,14 +205,15 @@ func randomConnectionId() udp.ConnectionId { func RunSimple(ctx context.Context, s *Server, pc net.PacketConn, family udp.AddrFamily) error { ctx, cancel := context.WithCancel(ctx) defer cancel() + var b [1500]byte for { - var b [1500]byte n, addr, err := pc.ReadFrom(b[:]) if err != nil { return err } + b := append([]byte(nil), b[:n]...) go func() { - err := s.HandleRequest(ctx, family, addr, b[:n]) + err := s.HandleRequest(ctx, family, addr, b) if err != nil { log.Printf("error handling %v byte request from %v: %v", n, addr, err) }