lnd/discovery
Conner Fromknecht 96c47f7de4
discovery/gossiper: bypass main event loop for queries
This commit restructures the delivery of gossip
query related messages, such that they are delivered
directly to the gossip syncers. Gossip query rate
limiting was introduced in #1824 on a per-peer basis.
However, since all gossip query messages were being
delivered in the main event loop, the end result is
that one rate-limited peer could stall all other
peers.

In addition, since no other peers would be able to
submit gossip-related messages through the blocked
event loop, the back pressure would eventually rate
limit the read handlers of all peers as well.
The end result would be lengthy delays in reading
messages related to htlc forwarding.

The fix is to lift the delivery of gossip query
messages outside of the main event loop. With
this change, the rate limiting backpressure is
delivered only to the intended peer.
2018-11-01 17:28:20 -07:00
..
bootstrapper.go discovery: update autopilot.Node usage to match recent API changes 2018-08-29 15:45:39 -07:00
gossiper_test.go discovery/gossiper_test: modify TestProcessAnnouncement to process node 2018-10-24 17:28:56 -07:00
gossiper.go discovery/gossiper: bypass main event loop for queries 2018-11-01 17:28:20 -07:00
log.go multi: init subsystem loggers via build pkg 2018-10-05 13:04:45 +09:00
syncer_test.go Merge pull request #1856 from maurycy/typos 2018-09-27 20:38:10 -07:00
syncer.go discovery: fix logging for gossip syncer rate limiting 2018-09-13 15:55:44 -07:00
utils.go discovery: update utils to properly include opaque data in gossip msgs 2018-09-04 20:52:44 -07:00