Browse Source

Tweak WHOIS path for federation.

pull/1/head
Adam Ierymenko 9 years ago
parent
commit
e3b1fc2ac0
  1. 7
      node/Constants.hpp
  2. 2
      node/Peer.hpp
  3. 4
      node/Switch.cpp

7
node/Constants.hpp

@ -202,7 +202,7 @@
/**
* Maximum identity WHOIS retries (each attempt tries consulting a different peer)
*/
#define ZT_MAX_WHOIS_RETRIES 3
#define ZT_MAX_WHOIS_RETRIES 4
/**
* Transmit queue entry timeout
@ -390,6 +390,11 @@
*/
#define ZT_PEER_CREDEITIALS_CUTOFF_LIMIT 15
/**
* WHOIS rate limit (we allow these to be pretty fast)
*/
#define ZT_PEER_WHOIS_RATE_LIMIT 50
/**
* General rate limit for other kinds of rate-limited packets (HELLO, credential request, etc.) both inbound and outbound
*/

2
node/Peer.hpp

@ -370,7 +370,7 @@ public:
*/
inline bool rateGateInboundWhoisRequest(const uint64_t now)
{
if ((now - _lastWhoisRequestReceived) >= ZT_PEER_GENERAL_RATE_LIMIT) {
if ((now - _lastWhoisRequestReceived) >= ZT_PEER_WHOIS_RATE_LIMIT) {
_lastWhoisRequestReceived = now;
return true;
}

4
node/Switch.cpp

@ -688,9 +688,9 @@ unsigned long Switch::doTimerTasks(uint64_t now)
_outstandingWhoisRequests.erase(*a);
} else {
r->lastSent = now;
r->peersConsulted[r->retries] = _sendWhoisRequest(*a,r->peersConsulted,r->retries);
++r->retries;
r->peersConsulted[r->retries] = _sendWhoisRequest(*a,r->peersConsulted,(r->retries > 1) ? r->retries : 0);
TRACE("WHOIS %s (retry %u)",a->toString().c_str(),r->retries);
++r->retries;
nextDelay = std::min(nextDelay,(unsigned long)ZT_WHOIS_RETRY_DELAY);
}
} else {

Loading…
Cancel
Save