summaryrefslogtreecommitdiff
path: root/src/UTMetadataPostDownloadHandler.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2014-06-21 00:24:54 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2014-06-21 00:58:21 +0900
commite2932608fc4960977691b09ec8a696044c6a0371 (patch)
tree778ebbb41542051ebd1fbe14aa7c702bbb139c27 /src/UTMetadataPostDownloadHandler.cc
parent2b02fac2d5f677dc6d099f550fd94fe8dac18bb2 (diff)
Add --pause-metadata option
This option pauses downloads created as a result of metadata download. There are 3 types of metadata downloads in aria2: (1) downloading .torrent file. (2) downloading torrent metadata using magnet link. (3) downloading metalink file. These metadata downloads will generate downloads using their metadata. This option pauses these subsequent downloads.
Diffstat (limited to 'src/UTMetadataPostDownloadHandler.cc')
-rw-r--r--src/UTMetadataPostDownloadHandler.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/UTMetadataPostDownloadHandler.cc b/src/UTMetadataPostDownloadHandler.cc
index ff006d8a..3d48f135 100644
--- a/src/UTMetadataPostDownloadHandler.cc
+++ b/src/UTMetadataPostDownloadHandler.cc
@@ -50,6 +50,7 @@
#include "prefs.h"
#include "Option.h"
#include "fmt.h"
+#include "RequestGroupMan.h"
namespace aria2 {
@@ -107,6 +108,16 @@ void UTMetadataPostDownloadHandler::getNextRequestGroups
setMetadataInfo(newRgs.begin(), newRgs.end(),
requestGroup->getMetadataInfo());
}
+
+ auto rgman = requestGroup->getRequestGroupMan();
+
+ if(rgman && rgman->getKeepRunning() &&
+ requestGroup->getOption()->getAsBool(PREF_PAUSE_METADATA)) {
+ for(auto& rg : newRgs) {
+ rg->setPauseRequested(true);
+ }
+ }
+
groups.insert(groups.end(), newRgs.begin(), newRgs.end());
}
}