From 57b37db8a115ab32ce7308bf324773cae59a0db0 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Mon, 31 Oct 2011 22:43:05 +0900 Subject: [PATCH] --max-connection-per-server option is now available in aria2.changeOption. --max-connection-per-server option is now available in aria2.changeOption if a download is waiting/paused in queue. --- src/OptionHandlerFactory.cc | 1 + src/RpcMethodImpl.cc | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/src/OptionHandlerFactory.cc b/src/OptionHandlerFactory.cc index a6478921..51d7cd00 100644 --- a/src/OptionHandlerFactory.cc +++ b/src/OptionHandlerFactory.cc @@ -436,6 +436,7 @@ OptionHandlerFactory::createOptionHandlers() op->addTag(TAG_HTTP); op->setInitialOption(true); op->setChangeGlobalOption(true); + op->setChangeOptionForReserved(true); handlers.push_back(op); } { diff --git a/src/RpcMethodImpl.cc b/src/RpcMethodImpl.cc index 8f31ae3a..b5ba8aea 100644 --- a/src/RpcMethodImpl.cc +++ b/src/RpcMethodImpl.cc @@ -1137,6 +1137,14 @@ void changeOption if(option.defined(PREF_SPLIT)) { group->setNumConcurrentCommand(option.getAsInt(PREF_SPLIT)); } + if(option.defined(PREF_MAX_CONNECTION_PER_SERVER)) { + int maxConn = option.getAsInt(PREF_MAX_CONNECTION_PER_SERVER); + const std::vector >& files = dctx->getFileEntries(); + for(std::vector >::const_iterator i = files.begin(), + eoi = files.end(); i != eoi; ++i) { + (*i)->setMaxConnectionPerServer(maxConn); + } + } if(option.defined(PREF_MAX_DOWNLOAD_LIMIT)) { group->setMaxDownloadSpeedLimit (option.getAsInt(PREF_MAX_DOWNLOAD_LIMIT));