diff --git a/ChangeLog b/ChangeLog index 3a1a6a49..5adf6292 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2010-07-15 Tatsuhiro Tsujikawa + + Prefer untested server in FeedbackURISelector + * src/FeedbackURISelector.cc + 2010-07-15 Tatsuhiro Tsujikawa Documented --min-split-size option in man page. diff --git a/src/FeedbackURISelector.cc b/src/FeedbackURISelector.cc index 7ee95a88..e25e60f3 100644 --- a/src/FeedbackURISelector.cc +++ b/src/FeedbackURISelector.cc @@ -100,11 +100,16 @@ std::string FeedbackURISelector::selectInternal } SharedHandle ss = serverStatMan_->find(r.getHost(), r.getProtocol()); - if(!ss.isNull() && ss->isOK() && ss->getDownloadSpeed() > SPEED_THRESHOLD) { - fastCands.push_back(std::make_pair(ss, *i)); + // We prefer untested one. + if(ss.isNull()) { + return *i; } - if(ss.isNull() || ss->isOK()) { - normCands.push_back(*i); + if(ss->isOK()) { + if(ss->getDownloadSpeed() > SPEED_THRESHOLD) { + fastCands.push_back(std::make_pair(ss, *i)); + } else { + normCands.push_back(*i); + } } } if(fastCands.empty()) {