lnd.xprv/discovery
Conner Fromknecht 23d10336c2
discovery/syncer: separate query + reply handlers
This commit creates a distinct replyHandler, completely isolating the
requesting state machine from the processing of queries from the remote
peer. Before the two were interlaced, and the syncer could only reply to
messages in certain states. Now the two will be complete separated,
which is preliminary step to make the replies synchronous (as otherwise
we would be blocking our own requesting state machine).

With this changes, the channelGraphSyncer of each peer will drive the
replyHanlder of the other. The two can now operate independently, or
even spun up conditionally depending on advertised support for gossip
queries, as shown below:

          A                                 B
 channelGraphSyncer ---control-msg--->
                                        replyHandler
 channelGraphSyncer <--control-msg----
           gossiper <--gossip-msgs----

                    <--control-msg---- channelGraphSyncer
       replyHandler
                    ---control-msg---> channelGraphSyncer
                    ---gossip-msgs---> gossiper
2019-04-26 20:03:14 -07: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+server: remove roundRobinHandler and related code 2019-04-24 13:19:07 -07:00
gossiper.go discovery+server: remove roundRobinHandler and related code 2019-04-24 13:19:07 -07: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 discovery: queue active syncers until initial historical sync signal 2019-04-24 13:20:57 -07:00
reliable_sender_test.go discovery: replace waitPredicate with lntest version 2019-04-03 15:08:12 -07:00
reliable_sender.go discovery: add missing offline peer check before sending message reliably 2019-03-28 17:21:28 -07:00
sync_manager_test.go discovery: queue active syncers until initial historical sync signal 2019-04-24 13:20:57 -07:00
sync_manager.go discovery: queue active syncers until initial historical sync signal 2019-04-24 13:20:57 -07:00
syncer_test.go discovery/syncer: separate query + reply handlers 2019-04-26 20:03:14 -07:00
syncer.go discovery/syncer: separate query + reply handlers 2019-04-26 20:03:14 -07:00
utils.go discovery: send policy updates for private channels directly to the remote peer 2019-04-10 17:05:51 -07:00