Esempio n. 1
0
  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;
  }
Esempio n. 2
0
 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;
 }