summaryrefslogtreecommitdiff
path: root/src/DownloadEngineFactory.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/DownloadEngineFactory.cc')
-rw-r--r--src/DownloadEngineFactory.cc26
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