From 0e288dc7412b936eac3c485f6b37d1a6a5cd60c1 Mon Sep 17 00:00:00 2001 From: vyzo Date: Tue, 20 Feb 2018 14:12:52 +0200 Subject: [PATCH] delete mesh before sending prunes on leave --- gossipsub.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gossipsub.go b/gossipsub.go index 0eb3910..63dfef3 100644 --- a/gossipsub.go +++ b/gossipsub.go @@ -248,10 +248,11 @@ func (gs *GossipSubRouter) Leave(topic string) { return } + delete(gs.mesh, topic) + for p := range gmap { gs.sendPrune(p, topic) } - delete(gs.mesh, topic) } func (gs *GossipSubRouter) sendGraft(p peer.ID, topic string) { @@ -417,7 +418,7 @@ func (gs *GossipSubRouter) heartbeat() { } } - // do we need more peers + // do we need more peers? if len(peers) < GossipSubD { ineed := GossipSubD - len(peers) plst := gs.getPeers(topic, func(p peer.ID) bool {