lnd/discovery
Olaoluwa Osuntokun 52451b37af
discovery: ensure we prioritize sending out our own local announcements
In this commit, we modify our gossip broadcast logic to ensure that we
always will send out our own gossip messages regardless of the
filtering/feature policies of the peer.

Before this commit, it was possible that when we went to broadcast an
announcement, none of our peers actually had us as a syncer peer (lnd
terminology). In this case, the FilterGossipMsg function wouldn't do
anything, as they don't have an active timestamp filter set. When we go
to them merge the syncer map, we'd add all these peers we didn't send
to, meaning we would skip them when it came to broadcast time.

In this commit, we now split things into two phases: we'll broadcast
_our_ own announcements to all our peers, but then do the normal
filtering and chunking for the announcements we got from a remote peer.

Fixes https://github.com/lightningnetwork/lnd/issues/6531
Fixes https://github.com/lightningnetwork/lnd/issues/7223
Fixes https://github.com/lightningnetwork/lnd/issues/7073
2022-12-15 11:56:41 -08:00
..
bootstrapper.go multi: fix make fmt 2022-08-23 22:10:24 +08:00
chan_series.go discovery: adhere to proper channel chunk splitting for ReplyChannelRange 2020-12-08 15:18:07 -08:00
gossiper_test.go discovery: ensure we prioritize sending out our own local announcements 2022-12-15 11:56:41 -08:00
gossiper.go discovery: ensure we prioritize sending out our own local announcements 2022-12-15 11:56:41 -08:00
log.go multi: init subsystem loggers via build pkg 2018-10-05 13:04:45 +09:00
message_store_test.go discovery: use T.TempDir to create temporary test directory 2022-08-24 08:58:16 +08:00
message_store.go multi: move all channelstate operations to ChannelStateDB 2021-09-29 17:00:03 +02:00
mock_test.go multi: use btcd's btcec/v2 and btcutil modules 2022-03-09 19:02:37 +01:00
reliable_sender_test.go multi: use btcd's btcec/v2 and btcutil modules 2022-03-09 19:02:37 +01:00
reliable_sender.go discovery+peer: add logs to reveal shutdown flow 2022-12-08 17:57:01 +08:00
sync_manager_test.go multi: use btcd's btcec/v2 and btcutil modules 2022-03-09 19:02:37 +01:00
sync_manager.go discovery+peer: add logs to reveal shutdown flow 2022-12-08 17:57:01 +08:00
syncer_test.go multi: fix make fmt 2022-08-23 22:10:24 +08:00
syncer.go discovery+peer: add logs to reveal shutdown flow 2022-12-08 17:57:01 +08:00