From: Matt Joiner 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