Restore original ECHO rate limiting (changed for multipath)

This commit is contained in:
Joseph Henry 2021-07-20 19:06:47 -07:00
parent 73ddea8864
commit 0ed9db05d2
No known key found for this signature in database
GPG key ID: C45B33FF5EBC9344

View file

@ -419,36 +419,16 @@ public:
} }
/** /**
* Rate limit gate for inbound ECHO requests. This rate limiter works * Rate limit gate for inbound ECHO requests
* by draining a certain number of requests per unit time. Each peer may
* theoretically receive up to ZT_ECHO_CUTOFF_LIMIT requests per second.
*/ */
inline bool rateGateEchoRequest(const int64_t now) inline bool rateGateEchoRequest(const int64_t now)
{ {
/* if ((now - _lastEchoRequestReceived) >= ZT_PEER_GENERAL_RATE_LIMIT) {
// TODO: Rethink this
if (_canUseMultipath) {
_echoRequestCutoffCount++;
int numToDrain = (now - _lastEchoCheck) / ZT_ECHO_DRAINAGE_DIVISOR;
_lastEchoCheck = now;
fprintf(stderr, "ZT_ECHO_CUTOFF_LIMIT=%d, (now - _lastEchoCheck)=%d, numToDrain=%d, ZT_ECHO_DRAINAGE_DIVISOR=%d\n", ZT_ECHO_CUTOFF_LIMIT, (now - _lastEchoCheck), numToDrain, ZT_ECHO_DRAINAGE_DIVISOR);
if (_echoRequestCutoffCount > numToDrain) {
_echoRequestCutoffCount-=numToDrain;
}
else {
_echoRequestCutoffCount = 0;
}
return (_echoRequestCutoffCount < ZT_ECHO_CUTOFF_LIMIT);
} else {
if ((now - _lastEchoRequestReceived) >= (ZT_PEER_GENERAL_RATE_LIMIT)) {
_lastEchoRequestReceived = now; _lastEchoRequestReceived = now;
return true; return true;
} }
return false; return false;
} }
*/
return true;
}
/** /**
* Serialize a peer for storage in local cache * Serialize a peer for storage in local cache