diff options
Diffstat (limited to 'node/Node.cpp')
-rw-r--r-- | node/Node.cpp | 32 |
1 files changed, 4 insertions, 28 deletions
diff --git a/node/Node.cpp b/node/Node.cpp index ef0598de..740bc89e 100644 --- a/node/Node.cpp +++ b/node/Node.cpp @@ -496,34 +496,10 @@ Node::ReasonForTermination Node::run() _r->sw->sendHELLO((*p)->address()); } } else { - std::vector< SharedPtr<Peer> > needPing,needFirewallOpener; - - if (resynchronize) { - _r->topology->eachPeer(Topology::CollectPeersWithDirectPath(needPing)); - } else { - _r->topology->eachPeer(Topology::CollectPeersThatNeedPing(needPing)); - } - - for(std::vector< SharedPtr<Peer> >::iterator p(needPing.begin());p!=needPing.end();++p) { - try { - _r->sw->sendHELLO((*p)->address()); - } catch (std::exception &exc) { - LOG("unexpected exception sending HELLO to %s: %s",(*p)->address().toString().c_str()); - } catch ( ... ) { - LOG("unexpected exception sending HELLO to %s: (unknown)",(*p)->address().toString().c_str()); - } - } - - _r->topology->eachPeer(Topology::CollectPeersThatNeedFirewallOpener(needFirewallOpener)); - for(std::vector< SharedPtr<Peer> >::iterator p(needFirewallOpener.begin());p!=needFirewallOpener.end();++p) { - try { - (*p)->sendFirewallOpener(_r,now); - } catch (std::exception &exc) { - LOG("unexpected exception sending firewall opener to %s: %s",(*p)->address().toString().c_str(),exc.what()); - } catch ( ... ) { - LOG("unexpected exception sending firewall opener to %s: (unknown)",(*p)->address().toString().c_str()); - } - } + if (resynchronize) + _r->topology->eachPeer(Topology::PingAllActivePeers(_r,now)); + else _r->topology->eachPeer(Topology::PingPeersThatNeedPing(_r,now)); + _r->topology->eachPeer(Topology::OpenPeersThatNeedFirewallOpener(_r,now)); } } catch (std::exception &exc) { LOG("unexpected exception running ping check cycle: %s",exc.what()); |