diff --git a/mesh/gossip_test.go b/mesh/gossip_test.go index 5f622826..21d2b858 100644 --- a/mesh/gossip_test.go +++ b/mesh/gossip_test.go @@ -238,10 +238,10 @@ func (g *testGossiper) OnGossip(update []byte) (GossipData, error) { g.state[v] = void } } - if len(delta) > 0 { - return NewSurrogateGossipData(delta), nil + if len(delta) == 0 { + return nil, nil } - return nil, nil + return NewSurrogateGossipData(delta), nil } func (g *testGossiper) checkHas(t *testing.T, vs ...byte) { diff --git a/mesh/router.go b/mesh/router.go index c19556d7..69b26831 100644 --- a/mesh/router.go +++ b/mesh/router.go @@ -122,15 +122,6 @@ type TopologyGossipData struct { update PeerNameSet } -func (router *Router) BroadcastTopologyUpdate(update []*Peer) { - names := make(PeerNameSet) - for _, p := range update { - names[p.Name] = void - } - router.TopologyGossip.GossipBroadcast( - &TopologyGossipData{peers: router.Peers, update: names}) -} - func (d *TopologyGossipData) Merge(other GossipData) GossipData { names := make(PeerNameSet) for name := range d.update { @@ -146,6 +137,15 @@ func (d *TopologyGossipData) Encode() [][]byte { return [][]byte{d.peers.EncodePeers(d.update)} } +func (router *Router) BroadcastTopologyUpdate(update []*Peer) { + names := make(PeerNameSet) + for _, p := range update { + names[p.Name] = void + } + router.TopologyGossip.GossipBroadcast( + &TopologyGossipData{peers: router.Peers, update: names}) +} + func (router *Router) OnGossipUnicast(sender PeerName, msg []byte) error { return fmt.Errorf("unexpected topology gossip unicast: %v", msg) }