Fix TCP connection accumulation problem, still having issues with TCP tunneling.

This commit is contained in:
Adam Ierymenko 2014-03-26 17:59:45 -07:00
parent e6b23059ac
commit 2ac56fd120
7 changed files with 44 additions and 44 deletions

View file

@ -577,8 +577,9 @@ Node::ReasonForTermination Node::run()
}
// Ping supernodes separately for two reasons: (1) supernodes only ping each
// other, and (2) we still want to ping them first on resynchronize.
if ((resynchronize)||((now - lastSupernodePing) >= ZT_PEER_DIRECT_PING_DELAY)) {
// other, and (2) we still want to ping them first on resynchronize. Also ping
// more aggressively if nothing seems to be happening at all.
if ((resynchronize)||((now - lastSupernodePing) >= ZT_PEER_DIRECT_PING_DELAY)||((now - _r->timeOfLastPacketReceived) >= ZT_PING_UNANSWERED_AFTER)) {
lastSupernodePing = now;
std::vector< SharedPtr<Peer> > sns(_r->topology->supernodePeers());
TRACE("pinging %d supernodes",(int)sns.size());