mirror of https://github.com/aria2/aria2
2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Metadata download may take very long time. If URIs are available, give up metadata download in at most 30 seconds. * src/Metalink2RequestGroup.ccpull/1/head
parent
05d8f8ffdb
commit
21887ddb7c
|
@ -1,3 +1,9 @@
|
||||||
|
2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||||
|
|
||||||
|
Metadata download may take very long time. If URIs are
|
||||||
|
available, give up metadata download in at most 30 seconds.
|
||||||
|
* src/Metalink2RequestGroup.cc
|
||||||
|
|
||||||
2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||||
|
|
||||||
Call RequestGroup::setForceHaltRequested(true) from
|
Call RequestGroup::setForceHaltRequested(true) from
|
||||||
|
|
|
@ -315,6 +315,25 @@ Metalink2RequestGroup::createRequestGroup
|
||||||
SharedHandle<Dependency> dep(new BtDependency(rg, torrentRg));
|
SharedHandle<Dependency> dep(new BtDependency(rg, torrentRg));
|
||||||
rg->dependsOn(dep);
|
rg->dependsOn(dep);
|
||||||
torrentRg->belongsTo(rg->getGID());
|
torrentRg->belongsTo(rg->getGID());
|
||||||
|
// metadata download may take very long time. If URIs are
|
||||||
|
// available, give up metadata download in at most 30 seconds.
|
||||||
|
const time_t btStopTimeout = 30;
|
||||||
|
time_t currentBtStopTimeout =
|
||||||
|
torrentRg->getOption()->getAsInt(PREF_BT_STOP_TIMEOUT);
|
||||||
|
if(currentBtStopTimeout == 0 || currentBtStopTimeout > btStopTimeout) {
|
||||||
|
std::vector<SharedHandle<FileEntry> >::const_iterator i;
|
||||||
|
std::vector<SharedHandle<FileEntry> >::const_iterator eoi
|
||||||
|
= dctx->getFileEntries().end();
|
||||||
|
for(i = dctx->getFileEntries().begin(); i != eoi; ++i) {
|
||||||
|
if((*i)->getRemainingUris().empty()) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(i == dctx->getFileEntries().end()) {
|
||||||
|
torrentRg->getOption()->put
|
||||||
|
(PREF_BT_STOP_TIMEOUT, util::itos(btStopTimeout));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif // ENABLE_BITTORRENT
|
#endif // ENABLE_BITTORRENT
|
||||||
groups.push_back(rg);
|
groups.push_back(rg);
|
||||||
|
|
Loading…
Reference in New Issue