From 58538500f26d6e362bac0275c11628222fdcac02 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Wed, 2 Oct 2013 16:12:10 -0400 Subject: Clean up some routine stuff like pings, and stop keeping links open forever even if there are no frames passing between them. --- node/Node.cpp | 32 ++++---------------------------- 1 file changed, 4 insertions(+), 28 deletions(-) (limited to 'node/Node.cpp') 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 > needPing,needFirewallOpener; - - if (resynchronize) { - _r->topology->eachPeer(Topology::CollectPeersWithDirectPath(needPing)); - } else { - _r->topology->eachPeer(Topology::CollectPeersThatNeedPing(needPing)); - } - - for(std::vector< SharedPtr >::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 >::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()); -- cgit v1.2.3