Beispiel #1
0
 /** Send the next search, or stop if its completed */
 protected void searchNext() {
   if (_state.completed()) {
     if (_log.shouldLog(Log.DEBUG)) _log.debug(getJobId() + ": Already completed");
     return;
   }
   if (_log.shouldLog(Log.INFO)) _log.info(getJobId() + ": Searching: " + _state);
   if (isLocal()) {
     if (_log.shouldLog(Log.INFO)) _log.info(getJobId() + ": Key found locally");
     _state.complete(true);
     succeed();
   } else if (isExpired()) {
     if (_log.shouldLog(Log.INFO)) _log.info(getJobId() + ": Key search expired");
     _state.complete(true);
     fail();
   } else if (_state.getAttempted().size() > MAX_PEERS_QUERIED) {
     if (_log.shouldLog(Log.INFO)) _log.info(getJobId() + ": Too many peers quried");
     _state.complete(true);
     fail();
   } else {
     // _log.debug("Continuing search");
     continueSearch();
   }
 }