diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2014-06-21 00:24:54 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2014-06-21 00:58:21 +0900 |
| commit | e2932608fc4960977691b09ec8a696044c6a0371 (patch) | |
| tree | 778ebbb41542051ebd1fbe14aa7c702bbb139c27 /src/UTMetadataPostDownloadHandler.cc | |
| parent | 2b02fac2d5f677dc6d099f550fd94fe8dac18bb2 (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.cc | 11 |
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()); } } |
