From 2279ee272d4025c436a1005885c7c0af9ff14c49 Mon Sep 17 00:00:00 2001 From: David Anderson Date: Sun, 7 Sep 2014 00:28:07 -0700 Subject: [PATCH] Exclude duplicates from batches. --- valve/master.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/valve/master.go b/valve/master.go index 240d727..4426759 100644 --- a/valve/master.go +++ b/valve/master.go @@ -122,6 +122,8 @@ func (this *MasterServerQuerier) tryQuery(callback MasterQueryCallback, filters // Chop off the response header. packet = packet[6:] + seen := map[string]bool{} + done := false ip := kNullIP port := uint16(0) @@ -150,10 +152,16 @@ func (this *MasterServerQuerier) tryQuery(callback MasterQueryCallback, filters break } - servers = append(servers, &net.TCPAddr{ + addr := &net.TCPAddr{ IP: ip, Port: int(port), - }) + } + if _, found := seen[addr.String()]; found { + continue + } + + servers = append(servers, addr) + seen[addr.String()] = true } if err := callback(servers); err != nil {