]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Resize packet buffer to avoid wasting memory
authorMatt Joiner <anacrolix@gmail.com>
Thu, 29 Dec 2022 08:41:36 +0000 (19:41 +1100)
committerMatt Joiner <anacrolix@gmail.com>
Thu, 29 Dec 2022 08:41:36 +0000 (19:41 +1100)
tracker/udp/server/server.go

index cd9d9f0fdc86f566b0baa7241c78ca5b74daeb80..c686a23d27b8fd2cc96d2983b0a779ce7b74b814 100644 (file)
@@ -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)
                        }