diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2009-10-31 09:53:23 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2009-10-31 09:53:23 +0000 |
| commit | 07dc5bdfee991bed813ae59457855c312c38da32 (patch) | |
| tree | cb8f10e34859d185d9a86d5dee8739bcde43e716 /src/DownloadEngineFactory.cc | |
| parent | a71b642db16273fbee441da61ce67d873cc7cc14 (diff) | |
2009-10-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Throw exception if binding listening port is failed. Removed
RequestGroupMan::getInitialCommand(). Use
fillRequestGroupFromReserver() instead. Delete commands for
RequestGroup which has errors when it is being added.
* src/BtSetup.cc
* src/DownloadEngine.cc
* src/DownloadEngine.h
* src/DownloadEngineFactory.cc
* src/MultiUrlRequestInfo.cc
* src/RequestGroupMan.cc
* src/RequestGroupMan.h
* test/RequestGroupManTest.cc
Diffstat (limited to 'src/DownloadEngineFactory.cc')
| -rw-r--r-- | src/DownloadEngineFactory.cc | 26 |
1 files changed, 6 insertions, 20 deletions
diff --git a/src/DownloadEngineFactory.cc b/src/DownloadEngineFactory.cc index 0f83a674..9841c44f 100644 --- a/src/DownloadEngineFactory.cc +++ b/src/DownloadEngineFactory.cc @@ -74,24 +74,11 @@ DownloadEngineFactory::DownloadEngineFactory(): _logger(LogFactory::getInstance()) {} DownloadEngineHandle -DownloadEngineFactory::newDownloadEngine(Option* op, - const RequestGroups& requestGroups) +DownloadEngineFactory::newDownloadEngine +(Option* op, const RequestGroups& requestGroups) { - RequestGroups workingSet; - RequestGroups reservedSet; - const size_t MAX_CONCURRENT_DOWNLOADS = op->getAsInt(PREF_MAX_CONCURRENT_DOWNLOADS); - if(MAX_CONCURRENT_DOWNLOADS < requestGroups.size()) { - workingSet.insert(workingSet.end(), - requestGroups.begin(), - requestGroups.begin()+MAX_CONCURRENT_DOWNLOADS); - - reservedSet.insert(reservedSet.end(), - requestGroups.begin()+MAX_CONCURRENT_DOWNLOADS, - requestGroups.end()); - } else { - workingSet = requestGroups; - } - + const size_t MAX_CONCURRENT_DOWNLOADS = + op->getAsInt(PREF_MAX_CONCURRENT_DOWNLOADS); SharedHandle<EventPoll> eventPoll; #ifdef HAVE_EPOLL if(op->get(PREF_EVENT_POLL) == V_EPOLL) { @@ -100,7 +87,7 @@ DownloadEngineFactory::newDownloadEngine(Option* op, eventPoll = ep; } else { throw DL_ABORT_EX("Initializing EpollEventPoll failed." - " Try --event-poll=select"); + " Try --event-poll=select"); } } else #endif // HAVE_EPLL @@ -113,9 +100,8 @@ DownloadEngineFactory::newDownloadEngine(Option* op, e->option = op; RequestGroupManHandle - requestGroupMan(new RequestGroupMan(workingSet, MAX_CONCURRENT_DOWNLOADS, + requestGroupMan(new RequestGroupMan(requestGroups, MAX_CONCURRENT_DOWNLOADS, op)); - requestGroupMan->addReservedGroup(reservedSet); e->_requestGroupMan = requestGroupMan; e->_fileAllocationMan.reset(new FileAllocationMan()); #ifdef ENABLE_MESSAGE_DIGEST |
