From 1dc88d47ab7f2e63f161f87ab5afa28238bee717 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Sun, 25 Nov 2007 11:48:44 +0000 Subject: [PATCH] 2007-11-25 Tatsuhiro Tsujikawa Return false if RequestGroup::isPreLocalFileCheckEnabled() == true * src/RequestGroupMan.cc (isSameFileBeingDownloaded) Return false if RequestGroup::isPreLocalFileCheckEnabled() == true * src/RequestGroup.cc (downloadFinishedByFileLength) --- ChangeLog | 8 ++++++++ src/RequestGroup.cc | 3 ++- src/RequestGroupMan.cc | 4 ++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index d547ab21..212b1e91 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2007-11-25 Tatsuhiro Tsujikawa + + Return false if RequestGroup::isPreLocalFileCheckEnabled() == true + * src/RequestGroupMan.cc (isSameFileBeingDownloaded) + + Return false if RequestGroup::isPreLocalFileCheckEnabled() == true + * src/RequestGroup.cc (downloadFinishedByFileLength) + 2007-11-25 Tatsuhiro Tsujikawa Added the check to see whether ares_host_callback accepts timeouts diff --git a/src/RequestGroup.cc b/src/RequestGroup.cc index 5f2e2b7f..7f16ac54 100644 --- a/src/RequestGroup.cc +++ b/src/RequestGroup.cc @@ -271,7 +271,8 @@ void RequestGroup::initPieceStorage() bool RequestGroup::downloadFinishedByFileLength() { // assuming that a control file doesn't exist. - if(_option->get(PREF_ALLOW_OVERWRITE) == V_TRUE || + if(!isPreLocalFileCheckEnabled() || + _option->get(PREF_ALLOW_OVERWRITE) == V_TRUE || _option->get(PREF_CHECK_INTEGRITY) == V_TRUE && !_downloadContext->getPieceHashes().empty()) { return false; diff --git a/src/RequestGroupMan.cc b/src/RequestGroupMan.cc index a6deadbd..f064a8ba 100644 --- a/src/RequestGroupMan.cc +++ b/src/RequestGroupMan.cc @@ -260,6 +260,10 @@ string RequestGroupMan::formatDownloadResult(const string& status, const Request bool RequestGroupMan::isSameFileBeingDownloaded(RequestGroup* requestGroup) const { + // TODO it may be good to use dedicated method rather than use isPreLocalFileCheckEnabled + if(!requestGroup->isPreLocalFileCheckEnabled()) { + return false; + } for(RequestGroups::const_iterator itr = _requestGroups.begin(); itr != _requestGroups.end(); ++itr) { if((*itr).get() != requestGroup &&