From 40aea2a934c9f0e0000d13fcd9f7ffc3c30c6bc7 Mon Sep 17 00:00:00 2001 From: Juan Batiz-Benet Date: Wed, 5 Nov 2014 04:05:30 -0800 Subject: [PATCH] handshake: log whether new addr observed --- net/handshake/handshake3.go | 4 +++- peer/peer.go | 9 ++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/net/handshake/handshake3.go b/net/handshake/handshake3.go index ad83b13ec..406728dd2 100644 --- a/net/handshake/handshake3.go +++ b/net/handshake/handshake3.go @@ -48,7 +48,9 @@ func Handshake3Update(lpeer, rpeer peer.Peer, msg *pb.Handshake3) (*Handshake3Re if err != nil { return res, err } - lpeer.AddAddress(observedAddr) + if lpeer.AddAddress(observedAddr) { + log.Infof("(nat) added new local, remote-observed address: %s", observedAddr) + } res.LocalObservedAddress = observedAddr // remote's reported addresses diff --git a/peer/peer.go b/peer/peer.go index fbea65fd1..7cc8a4ccb 100644 --- a/peer/peer.go +++ b/peer/peer.go @@ -66,7 +66,8 @@ type Peer interface { Addresses() []ma.Multiaddr // AddAddress adds the given Multiaddr address to Peer's addresses. - AddAddress(a ma.Multiaddr) + // returns whether this was a newly added address. + AddAddress(a ma.Multiaddr) bool // NetAddress returns the first Multiaddr found for a given network. NetAddress(n string) ma.Multiaddr @@ -141,16 +142,18 @@ func (p *peer) Addresses() []ma.Multiaddr { } // AddAddress adds the given Multiaddr address to Peer's addresses. -func (p *peer) AddAddress(a ma.Multiaddr) { +// Returns whether this address was a newly added address +func (p *peer) AddAddress(a ma.Multiaddr) bool { p.Lock() defer p.Unlock() for _, addr := range p.addresses { if addr.Equal(a) { - return + return false } } p.addresses = append(p.addresses, a) + return true } // NetAddress returns the first Multiaddr found for a given network.