diff --git a/src/main/java/org/qortal/network/Network.java b/src/main/java/org/qortal/network/Network.java index 6bc58bb4..9648f153 100644 --- a/src/main/java/org/qortal/network/Network.java +++ b/src/main/java/org/qortal/network/Network.java @@ -1373,17 +1373,26 @@ public class Network { // We attempted to connect within the last day // but we last managed to connect over a week ago. Predicate isNotOldPeer = peerData -> { - if (peerData.getLastAttempted() == null - || peerData.getLastAttempted() < now - OLD_PEER_ATTEMPTED_PERIOD) { - return true; - } - if (peerData.getLastConnected() == null - || peerData.getLastConnected() > now - OLD_PEER_CONNECTION_PERIOD) { + // First check if there was a connection attempt within the last day + if (peerData.getLastAttempted() != null + && peerData.getLastAttempted() > now - OLD_PEER_ATTEMPTED_PERIOD) { + + // There was, so now check if we had a successful connection in the last 7 days + if (peerData.getLastConnected() != null + && peerData.getLastConnected() > now - OLD_PEER_CONNECTION_PERIOD) { + + // We did, so this is NOT an 'old' peer + return true; + } + + // Last successful connection was more than 1 week ago - this is an 'old' peer + return false; + } + else { + // Best to wait until we have a connection attempt - assume not an 'old' peer until then return true; } - - return false; }; // Disregard peers that are NOT 'old'