lnd.xprv/discovery
Wilmer Paulino 2f679f6015
discovery/reliable_sender: implement message-agnostic reliable sender
In this commit, we implement a new subsystem for the gossiper that
uses some of the existing logic for resending channel announcement
signatures and implements it in a way to make it message-agnostic,
meaning that any type of message can be resent. Along the way we also
modify the way this works to prevent multiple goroutines per peer _and_
message.

A peerHandler will be spawned for each peer for which we attempt to send
a message reliably to. This handler is responsible for managing requests
to reliably send messages to a peer while also taking the peer's
connection lifecycle into account by requesting notifications for when
the peer connects/disconnects. A peer connection notification is first
requested to determine when we should attempt to send any pending
messages. After the messages are sent, a peer disconnection notification
is requested to ensure we don't continue to request connection
notifications while the peer remains connected. Once there are no more
pending messages left to be sent for a given peer, the peerHandler can
be torn down.
2019-02-14 18:33:27 -08:00
..
bootstrapper.go discovery: update autopilot.Node usage to match recent API changes 2018-08-29 15:45:39 -07:00
chan_series.go discovery/chan_series+utils: include max htlc when syncing with peers 2019-01-22 08:42:28 +01:00
gossiper_test.go discovery/gossiper_test: prevent race conditions within mockGraphSource 2019-02-14 18:33:27 -08:00
gossiper.go server+discovery: remove channeldb.DB reference within the gossiper 2019-02-14 18:29:39 -08:00
log.go multi: init subsystem loggers via build pkg 2018-10-05 13:04:45 +09:00
message_store_test.go discovery/message_store: add gossip message store 2019-02-14 18:29:39 -08:00
message_store.go discovery/message_store: add gossip message store 2019-02-14 18:29:39 -08:00
mock_test.go server+discovery: replace gossiper message store with MessageStore 2019-02-14 18:29:39 -08:00
reliable_sender_test.go discovery/reliable_sender: implement message-agnostic reliable sender 2019-02-14 18:33:27 -08:00
reliable_sender.go discovery/reliable_sender: implement message-agnostic reliable sender 2019-02-14 18:33:27 -08:00
syncer_test.go Merge pull request #1856 from maurycy/typos 2018-09-27 20:38:10 -07:00
syncer.go discovery/syncer: move CGTimeSerires to chan_series 2018-11-30 15:33:34 -08:00
utils.go discovery/chan_series+utils: include max htlc when syncing with peers 2019-01-22 08:42:28 +01:00