23d10336c2
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 |
||
---|---|---|
.. | ||
bootstrapper.go | ||
chan_series.go | ||
gossiper_test.go | ||
gossiper.go | ||
log.go | ||
message_store_test.go | ||
message_store.go | ||
mock_test.go | ||
reliable_sender_test.go | ||
reliable_sender.go | ||
sync_manager_test.go | ||
sync_manager.go | ||
syncer_test.go | ||
syncer.go | ||
utils.go |