Avoid getting current time on each usage on flooding avoidance computations

Also fix some log message wording.
This commit is contained in:
Ivan Vilata-i-Balaguer 2016-04-11 10:02:13 +02:00
parent 8f7f450429
commit 9b9fd678a8

View file

@ -167,14 +167,16 @@ public class Connection implements MessageListener {
try { try {
Log.traceCall(); Log.traceCall();
// Throttle outbound messages // Throttle outbound messages
if (System.currentTimeMillis() - lastSendTimeStamp < 20) { long now = System.currentTimeMillis();
log.info("We got 2 sendMessage requests in less then 20 ms. We set the thread to sleep " + long elapsed = now - lastSendTimeStamp;
"for 50 ms to avoid that we flood our peer. lastSendTimeStamp={}, now={}, elapsed={}", if (elapsed < 20) {
lastSendTimeStamp, System.currentTimeMillis(), (System.currentTimeMillis() - lastSendTimeStamp)); log.info("We got 2 sendMessage requests in less than 20 ms. We set the thread to sleep " +
"for 50 ms to avoid flooding our peer. lastSendTimeStamp={}, now={}, elapsed={}",
lastSendTimeStamp, now, elapsed);
Thread.sleep(50); Thread.sleep(50);
} }
lastSendTimeStamp = System.currentTimeMillis(); lastSendTimeStamp = now;
String peersNodeAddress = peersNodeAddressOptional.isPresent() ? peersNodeAddressOptional.get().toString() : "null"; String peersNodeAddress = peersNodeAddressOptional.isPresent() ? peersNodeAddressOptional.get().toString() : "null";
int size = ByteArrayUtils.objectToByteArray(message).length; int size = ByteArrayUtils.objectToByteArray(message).length;
@ -629,8 +631,8 @@ public class Connection implements MessageListener {
long now = System.currentTimeMillis(); long now = System.currentTimeMillis();
long elapsed = now - lastReadTimeStamp; long elapsed = now - lastReadTimeStamp;
if (elapsed < 10) { if (elapsed < 10) {
log.info("We got 2 messages received in less then 10 ms. We set the thread to sleep " + log.info("We got 2 messages received in less than 10 ms. We set the thread to sleep " +
"for 20 ms to avoid that we get flooded from our peer. lastReadTimeStamp={}, now={}, elapsed={}", "for 20 ms to avoid getting flooded by our peer. lastReadTimeStamp={}, now={}, elapsed={}",
lastReadTimeStamp, now, elapsed); lastReadTimeStamp, now, elapsed);
Thread.sleep(20); Thread.sleep(20);
} }