diff --git a/router/java/src/net/i2p/router/transport/ntcp/NTCPConnection.java b/router/java/src/net/i2p/router/transport/ntcp/NTCPConnection.java index de32aace4..44eaa40c7 100644 --- a/router/java/src/net/i2p/router/transport/ntcp/NTCPConnection.java +++ b/router/java/src/net/i2p/router/transport/ntcp/NTCPConnection.java @@ -415,9 +415,13 @@ public class NTCPConnection implements Closeable { /** @return milliseconds */ public long getTimeSinceSend() { return _context.clock().now()-_lastSendTime; } + + public long getTimeSinceSend(long now) { return now - _lastSendTime; } /** @return milliseconds */ public long getTimeSinceReceive() { return _context.clock().now()-_lastReceiveTime; } + + public long getTimeSinceReceive(long now) { return now - _lastReceiveTime; } /** @return milliseconds */ public long getTimeSinceCreated() { return _context.clock().now()-_created; } diff --git a/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java b/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java index a77bccbdb..1ac28c64f 100644 --- a/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java +++ b/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java @@ -707,12 +707,13 @@ public class NTCPTransport extends TransportImpl { * As of 0.9.20, actually returns active peer count, not total. */ public int countActivePeers() { + final long now = _context.clock().now(); int active = 0; for (NTCPConnection con : _conByIdent.values()) { // con initializes times at construction, // so check message count also - if ((con.getMessagesSent() > 0 && con.getTimeSinceSend() <= 5*60*1000) || - (con.getMessagesReceived() > 0 && con.getTimeSinceReceive() <= 5*60*1000)) { + if ((con.getMessagesSent() > 0 && con.getTimeSinceSend(now) <= 5*60*1000) || + (con.getMessagesReceived() > 0 && con.getTimeSinceReceive(now) <= 5*60*1000)) { active++; } }