Browse Source

Reorder operations in 'torrent finished' handler

Avoid redundant data fetch.
Remove debug messages.
adaptive-webui-19844
Chocobo1 2 years ago
parent
commit
80759f9e69
No known key found for this signature in database
GPG Key ID: 210D9C873253A68C
  1. 11
      src/base/bittorrent/sessionimpl.cpp
  2. 6
      src/base/bittorrent/torrentimpl.cpp

11
src/base/bittorrent/sessionimpl.cpp

@ -4549,32 +4549,27 @@ void SessionImpl::handleTorrentFinished(TorrentImpl *const torrent)
LogMsg(tr("Torrent download finished. Torrent: \"%1\"").arg(torrent->name())); LogMsg(tr("Torrent download finished. Torrent: \"%1\"").arg(torrent->name()));
emit torrentFinished(torrent); emit torrentFinished(torrent);
qDebug("Checking if the torrent contains torrent files to download"); if (const Path exportPath = finishedTorrentExportDirectory(); !exportPath.isEmpty())
exportTorrentFile(torrent, exportPath);
// Check if there are torrent files inside // Check if there are torrent files inside
for (const Path &torrentRelpath : asConst(torrent->filePaths())) for (const Path &torrentRelpath : asConst(torrent->filePaths()))
{ {
if (torrentRelpath.hasExtension(u".torrent"_qs)) if (torrentRelpath.hasExtension(u".torrent"_qs))
{ {
qDebug("Found possible recursive torrent download.");
const Path torrentFullpath = torrent->actualStorageLocation() / torrentRelpath; const Path torrentFullpath = torrent->actualStorageLocation() / torrentRelpath;
qDebug("Full subtorrent path is %s", qUtf8Printable(torrentFullpath.toString()));
if (TorrentInfo::loadFromFile(torrentFullpath)) if (TorrentInfo::loadFromFile(torrentFullpath))
{ {
qDebug("emitting recursiveTorrentDownloadPossible()");
emit recursiveTorrentDownloadPossible(torrent); emit recursiveTorrentDownloadPossible(torrent);
break; break;
} }
else else
{ {
qDebug("Caught error loading torrent");
LogMsg(tr("Unable to load torrent. File: \"%1\"").arg(torrentFullpath.toString()), Log::CRITICAL); LogMsg(tr("Unable to load torrent. File: \"%1\"").arg(torrentFullpath.toString()), Log::CRITICAL);
} }
} }
} }
if (!finishedTorrentExportDirectory().isEmpty())
exportTorrentFile(torrent, finishedTorrentExportDirectory());
if (!hasUnfinishedTorrents()) if (!hasUnfinishedTorrents())
emit allTorrentsFinished(); emit allTorrentsFinished();
} }

6
src/base/bittorrent/torrentimpl.cpp

@ -1769,10 +1769,10 @@ void TorrentImpl::handleTorrentCheckedAlert(const lt::torrent_checked_alert *p)
void TorrentImpl::handleTorrentFinishedAlert(const lt::torrent_finished_alert *p) void TorrentImpl::handleTorrentFinishedAlert(const lt::torrent_finished_alert *p)
{ {
Q_UNUSED(p); Q_UNUSED(p);
qDebug("Got a torrent finished alert for \"%s\"", qUtf8Printable(name()));
qDebug("Torrent has seed status: %s", m_hasSeedStatus ? "yes" : "no");
m_hasMissingFiles = false; m_hasMissingFiles = false;
if (m_hasSeedStatus) return; if (m_hasSeedStatus)
return;
m_statusUpdatedTriggers.enqueue([this]() m_statusUpdatedTriggers.enqueue([this]()
{ {

Loading…
Cancel
Save