From a916155668a0e5ed117f4bf362d0afff872647d8 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Fri, 22 Jul 2016 12:43:37 +0200 Subject: Addr() --- cmd/btcheck/main.go | 5 +++-- tracker/peer.go | 4 ++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/cmd/btcheck/main.go b/cmd/btcheck/main.go index d9162d8..6d79e8b 100644 --- a/cmd/btcheck/main.go +++ b/cmd/btcheck/main.go @@ -37,9 +37,10 @@ func main() { } pool := make(map[string]tracker.Peer) for p := range req.Poll(tor.Announce) { - if _, ok := pool[p.IP]; !ok { + addr := p.Addr() + if _, ok := pool[addr]; !ok { log.Println("new peer", p) - pool[p.IP] = p + pool[addr] = p } } } diff --git a/tracker/peer.go b/tracker/peer.go index 81b1175..e19b5c3 100644 --- a/tracker/peer.go +++ b/tracker/peer.go @@ -20,6 +20,10 @@ func (p Peer) String() string { return fmt.Sprintf("%v:%v %v", p.IP, p.Port, url.QueryEscape(string(p.ID))) } +func (p Peer) Addr() string { + return fmt.Sprintf("%v:%v", p.IP, p.Port) +} + type Peers []Peer func (p *Peers) UnmarshalBencode(b []byte) (int, error) { -- cgit v1.2.3