private boolean cleanupRequestor(long now) { boolean empty = true; int x = 0; for (int i = 0; i < requestorNodes.length; i++) { WeakReference<? extends PeerNodeUnlocked> ref = requestorNodes[i]; if (ref == null) continue; PeerNodeUnlocked pn = ref.get(); if (pn == null) continue; long bootID = pn.getBootID(); if (bootID != requestorBootIDs[i]) continue; if (!pn.isConnected()) continue; if (now - requestorTimes[i] > MAX_TIME_BETWEEN_REQUEST_AND_OFFER) continue; empty = false; requestorNodes[x] = requestorNodes[i]; requestorTimes[x] = requestorTimes[i]; requestorBootIDs[x] = requestorBootIDs[i]; requestorHTLs[x] = requestorHTLs[i]; x++; } if (x < requestorNodes.length) { requestorNodes = Arrays.copyOf(requestorNodes, x); ; requestorTimes = Arrays.copyOf(requestorTimes, x); ; requestorBootIDs = Arrays.copyOf(requestorBootIDs, x); ; requestorHTLs = Arrays.copyOf(requestorHTLs, x); ; } return empty; }
private boolean cleanupRequested(long now) { boolean empty = true; int x = 0; for (int i = 0; i < requestedNodes.length; i++) { WeakReference<? extends PeerNodeUnlocked> ref = requestedNodes[i]; if (ref == null) continue; PeerNodeUnlocked pn = ref.get(); if (pn == null) continue; long bootID = pn.getBootID(); if (bootID != requestedBootIDs[i]) continue; if (!pn.isConnected()) continue; if (now - requestedTimes[i] > MAX_TIME_BETWEEN_REQUEST_AND_OFFER) continue; empty = false; requestedNodes[x] = requestedNodes[i]; requestedTimes[x] = requestedTimes[i]; requestedBootIDs[x] = requestedBootIDs[i]; requestedLocs[x] = requestedLocs[i]; if (now < requestedTimeoutsRF[x] || now < requestedTimeoutsFT[x]) { requestedTimeoutsRF[x] = requestedTimeoutsRF[i]; requestedTimeoutsFT[x] = requestedTimeoutsFT[i]; requestedTimeoutHTLs[x] = requestedTimeoutHTLs[i]; } else { requestedTimeoutsRF[x] = -1; requestedTimeoutsFT[x] = -1; requestedTimeoutHTLs[x] = (short) -1; } x++; } if (x < requestedNodes.length) { requestedNodes = Arrays.copyOf(requestedNodes, x); ; requestedTimes = Arrays.copyOf(requestedTimes, x); ; requestedBootIDs = Arrays.copyOf(requestedBootIDs, x); ; requestedLocs = Arrays.copyOf(requestedLocs, x); ; requestedTimeoutsRF = Arrays.copyOf(requestedTimeoutsRF, x); ; requestedTimeoutsFT = Arrays.copyOf(requestedTimeoutsFT, x); ; requestedTimeoutHTLs = Arrays.copyOf(requestedTimeoutHTLs, x); ; } return empty; }