Browse Source

Merge pull request #11520 from sledgehammer999/revert_fastresume_functionality

Revert fastresume functionality
adaptive-webui-19844
sledgehammer999 5 years ago committed by GitHub
parent
commit
56c0f39593
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 17
      src/base/bittorrent/session.cpp
  2. 2
      src/base/bittorrent/torrenthandle.cpp

17
src/base/bittorrent/session.cpp

@ -2055,10 +2055,6 @@ bool Session::addTorrent_impl(CreateTorrentParams params, const MagnetUri &magne
, (patchedFastresumeData.constData() + patchedFastresumeData.size())}; , (patchedFastresumeData.constData() + patchedFastresumeData.size())};
p.flags |= lt::add_torrent_params::flag_use_resume_save_path; p.flags |= lt::add_torrent_params::flag_use_resume_save_path;
// load from .torrent file when fastresume doesn't contain the required `info` dict
if (!patchedFastresumeData.contains("4:infod"))
p.ti = torrentInfo.nativeInfo();
// Still setup the default parameters and let libtorrent handle // Still setup the default parameters and let libtorrent handle
// the parameter merging // the parameter merging
hasCompleteFastresume = false; hasCompleteFastresume = false;
@ -2066,10 +2062,6 @@ bool Session::addTorrent_impl(CreateTorrentParams params, const MagnetUri &magne
lt::error_code ec; lt::error_code ec;
p = lt::read_resume_data(fastresumeData, ec); p = lt::read_resume_data(fastresumeData, ec);
// load from .torrent file when fastresume doesn't contain the required `info` dict
if (!p.ti || !p.ti->is_valid())
p.ti = torrentInfo.nativeInfo();
// libtorrent will always apply `file_priorities` to torrents, // libtorrent will always apply `file_priorities` to torrents,
// if the field is present then the fastresume is considered to // if the field is present then the fastresume is considered to
// be correctly generated and should be complete. // be correctly generated and should be complete.
@ -2106,9 +2098,9 @@ bool Session::addTorrent_impl(CreateTorrentParams params, const MagnetUri &magne
static_cast<lt::download_priority_t::underlying_type>(priority)); static_cast<lt::download_priority_t::underlying_type>(priority));
#endif #endif
}); });
p.ti = torrentInfo.nativeInfo();
} }
p.ti = torrentInfo.nativeInfo();
} }
// Common // Common
@ -3867,11 +3859,6 @@ void Session::startUpTorrents()
int resumedTorrentsCount = 0; int resumedTorrentsCount = 0;
const auto startupTorrent = [this, &resumeDataDir, &resumedTorrentsCount](const TorrentResumeData &params) const auto startupTorrent = [this, &resumeDataDir, &resumedTorrentsCount](const TorrentResumeData &params)
{ {
// TODO: Remove loading of .torrent files when starting up existing torrents
// Starting from v4.2.0, the required `info` dict will be stored in fastresume too
// (besides .torrent file), that means we can remove loading of .torrent files in
// a later release, such as v4.3.0.
const QString filePath = resumeDataDir.filePath(QString("%1.torrent").arg(params.hash)); const QString filePath = resumeDataDir.filePath(QString("%1.torrent").arg(params.hash));
qDebug() << "Starting up torrent" << params.hash << "..."; qDebug() << "Starting up torrent" << params.hash << "...";
if (!addTorrent_impl(params.addTorrentData, params.magnetUri, TorrentInfo::loadFromFile(filePath), params.data)) if (!addTorrent_impl(params.addTorrentData, params.magnetUri, TorrentInfo::loadFromFile(filePath), params.data))

2
src/base/bittorrent/torrenthandle.cpp

@ -569,7 +569,7 @@ bool TorrentHandle::needSaveResumeData() const
void TorrentHandle::saveResumeData() void TorrentHandle::saveResumeData()
{ {
m_nativeHandle.save_resume_data(lt::torrent_handle::save_info_dict); m_nativeHandle.save_resume_data();
m_session->handleTorrentSaveResumeDataRequested(this); m_session->handleTorrentSaveResumeDataRequested(this);
} }

Loading…
Cancel
Save