diff --git a/router/gossip.go b/router/gossip.go index 17201143..930c5963 100644 --- a/router/gossip.go +++ b/router/gossip.go @@ -44,12 +44,11 @@ type GossipSender struct { } func NewGossipSender(send func(GossipData)) *GossipSender { - return &GossipSender{send: send} -} - -func (sender *GossipSender) Start() { - sender.cell = make(chan GossipData, 1) + sender := &GossipSender{ + send: send, + cell: make(chan GossipData, 1)} go sender.run() + return sender } func (sender *GossipSender) run() { @@ -239,7 +238,6 @@ func (c *GossipChannel) sendDown(conn Connection, data GossipData) { conn.(ProtocolSender).SendProtocolMsg(protocolMsg) }) c.senders[conn] = sender - sender.Start() } sender.Send(data) } @@ -290,7 +288,6 @@ func (c *GossipChannel) relayBroadcast(srcName PeerName, update GossipData) erro if !found { broadcaster = NewGossipSender(func(pending GossipData) { c.sendBroadcast(srcName, pending) }) c.broadcasters[srcName] = broadcaster - broadcaster.Start() } broadcaster.Send(update) return nil