From 1984c2a5425709905ab1fe6dc2b4ca8fe5688bc9 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Thu, 15 Jul 2010 11:48:32 +0000 Subject: [PATCH] 2010-07-15 Tatsuhiro Tsujikawa Prefer untested server in FeedbackURISelector * src/FeedbackURISelector.cc --- ChangeLog | 5 +++++ src/FeedbackURISelector.cc | 13 +++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) 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()) {