X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=netip-addrport.go;h=4e2dc94d2b3686997d60b8924005064d849d8a90;hb=3a92268f10184f5ed4602fa43d476d0ada96dc8e;hp=cf9edfd5ed753e001e9f9d4713753be35c5d9e8e;hpb=044be4820fd437a4d13e5d6505808aeb6b2875aa;p=btrtrc.git diff --git a/netip-addrport.go b/netip-addrport.go index cf9edfd5..4e2dc94d 100644 --- a/netip-addrport.go +++ b/netip-addrport.go @@ -2,12 +2,15 @@ package torrent import ( "fmt" - "net" "net/netip" "github.com/anacrolix/dht/v2/krpc" ) +type addrPorter interface { + AddrPort() netip.AddrPort +} + func ipv4AddrPortFromKrpcNodeAddr(na krpc.NodeAddr) (_ netip.AddrPort, err error) { ip4 := na.IP.To4() if ip4 == nil { @@ -32,9 +35,7 @@ func ipv6AddrPortFromKrpcNodeAddr(na krpc.NodeAddr) (_ netip.AddrPort, err error func addrPortFromPeerRemoteAddr(pra PeerRemoteAddr) (netip.AddrPort, error) { switch v := pra.(type) { - case *net.TCPAddr: - return v.AddrPort(), nil - case *net.UDPAddr: + case addrPorter: return v.AddrPort(), nil case netip.AddrPort: return v, nil