allow for dynamic adding of light providers

This commit is contained in:
Callum Waters
2021-08-27 14:15:44 +02:00
parent 5baf7a7f0c
commit 31a9c5f667
2 changed files with 6 additions and 4 deletions
+1 -1
View File
@@ -1096,7 +1096,7 @@ func (r *Reactor) handleDataMessage(envelope p2p.Envelope, msgI Message) error {
}
if r.WaitSync() {
logger.Info("ignoring message received during sync", "msg", msgI)
logger.Info("ignoring message received during sync", "msg", fmt.Sprintf("%T", msgI))
return nil
}
+5 -3
View File
@@ -852,9 +852,11 @@ func (r *Reactor) processPeerUpdate(peerUpdate p2p.PeerUpdate) {
newProvider := NewBlockProvider(peerUpdate.NodeID, r.chainID, r.dispatcher)
r.providers[peerUpdate.NodeID] = newProvider
r.syncer.AddPeer(peerUpdate.NodeID)
// if sp, ok := r.stateProvider.(*stateProviderP2P); ok {
// sp.addProvider(newProvider)
// }
if sp, ok := r.stateProvider.(*stateProviderP2P); ok {
// we do this in a separate routine to not block whilst waiting for the light client to finish
// whatever call it's currently executing
go sp.addProvider(newProvider)
}
case p2p.PeerStatusDown:
delete(r.providers, peerUpdate.NodeID)