From: Matt Joiner <anacrolix@gmail.com>
Date: Mon, 12 Dec 2022 00:23:33 +0000 (+1100)
Subject: Don't use AnnounceHandler by value
X-Git-Tag: v1.49.0~7^2~19
X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=cfe166c745b89880846757fecd81bbdc510e8dd3;p=btrtrc.git

Don't use AnnounceHandler by value

It needs to share mutex for upstream tracker single flight handling.
---

diff --git a/tracker/http/server/server.go b/tracker/http/server/server.go
index 82c402de..8937ed5e 100644
--- a/tracker/http/server/server.go
+++ b/tracker/http/server/server.go
@@ -18,7 +18,7 @@ import (
 )
 
 type Handler struct {
-	Announce tracker.AnnounceHandler
+	Announce *tracker.AnnounceHandler
 	// Called to derive an announcer's IP if non-nil. If not specified, the Request.RemoteAddr is
 	// used. Necessary for instances running behind reverse proxies for example.
 	RequestHost func(r *http.Request) (netip.Addr, error)
diff --git a/tracker/udp/server/server.go b/tracker/udp/server/server.go
index c3179ae0..d76dc424 100644
--- a/tracker/udp/server/server.go
+++ b/tracker/udp/server/server.go
@@ -32,7 +32,7 @@ type AnnounceTracker = tracker.AnnounceTracker
 type Server struct {
 	ConnTracker  ConnectionTracker
 	SendResponse func(data []byte, addr net.Addr) (int, error)
-	Announce     tracker.AnnounceHandler
+	Announce     *tracker.AnnounceHandler
 }
 
 type RequestSourceAddr = net.Addr