diff --git a/src/base/bittorrent/bencoderesumedatastorage.cpp b/src/base/bittorrent/bencoderesumedatastorage.cpp index 1e1083051..cc1f00597 100644 --- a/src/base/bittorrent/bencoderesumedatastorage.cpp +++ b/src/base/bittorrent/bencoderesumedatastorage.cpp @@ -342,9 +342,9 @@ BitTorrent::LoadResumeDataResult BitTorrent::BencodeResumeDataStorage::loadTorre return torrentParams; } -void BitTorrent::BencodeResumeDataStorage::store(const TorrentID &id, const LoadTorrentParams &resumeData) const +void BitTorrent::BencodeResumeDataStorage::store(const TorrentID &id, LoadTorrentParams resumeData) const { - QMetaObject::invokeMethod(m_asyncWorker, [this, id, resumeData]() + QMetaObject::invokeMethod(m_asyncWorker, [this, id, resumeData = std::move(resumeData)] { m_asyncWorker->store(id, resumeData); }); diff --git a/src/base/bittorrent/bencoderesumedatastorage.h b/src/base/bittorrent/bencoderesumedatastorage.h index 38c10d865..3e1f96943 100644 --- a/src/base/bittorrent/bencoderesumedatastorage.h +++ b/src/base/bittorrent/bencoderesumedatastorage.h @@ -50,7 +50,7 @@ namespace BitTorrent QList registeredTorrents() const override; LoadResumeDataResult load(const TorrentID &id) const override; - void store(const TorrentID &id, const LoadTorrentParams &resumeData) const override; + void store(const TorrentID &id, LoadTorrentParams resumeData) const override; void remove(const TorrentID &id) const override; void storeQueue(const QList &queue) const override; diff --git a/src/base/bittorrent/dbresumedatastorage.cpp b/src/base/bittorrent/dbresumedatastorage.cpp index f9cc18769..64021d671 100644 --- a/src/base/bittorrent/dbresumedatastorage.cpp +++ b/src/base/bittorrent/dbresumedatastorage.cpp @@ -86,7 +86,7 @@ namespace class StoreJob final : public Job { public: - StoreJob(const TorrentID &torrentID, const LoadTorrentParams &resumeData); + StoreJob(const TorrentID &torrentID, LoadTorrentParams resumeData); void perform(QSqlDatabase db) override; private: @@ -231,7 +231,7 @@ namespace BitTorrent void run() override; void requestInterruption(); - void store(const TorrentID &id, const LoadTorrentParams &resumeData); + void store(const TorrentID &id, LoadTorrentParams resumeData); void remove(const TorrentID &id); void storeQueue(const QList &queue); @@ -327,9 +327,9 @@ BitTorrent::LoadResumeDataResult BitTorrent::DBResumeDataStorage::load(const Tor return parseQueryResultRow(query); } -void BitTorrent::DBResumeDataStorage::store(const TorrentID &id, const LoadTorrentParams &resumeData) const +void BitTorrent::DBResumeDataStorage::store(const TorrentID &id, LoadTorrentParams resumeData) const { - m_asyncWorker->store(id, resumeData); + m_asyncWorker->store(id, std::move(resumeData)); } void BitTorrent::DBResumeDataStorage::remove(const BitTorrent::TorrentID &id) const @@ -769,9 +769,9 @@ void DBResumeDataStorage::Worker::requestInterruption() m_waitCondition.wakeAll(); } -void BitTorrent::DBResumeDataStorage::Worker::store(const TorrentID &id, const LoadTorrentParams &resumeData) +void BitTorrent::DBResumeDataStorage::Worker::store(const TorrentID &id, LoadTorrentParams resumeData) { - addJob(std::make_unique(id, resumeData)); + addJob(std::make_unique(id, std::move(resumeData))); } void BitTorrent::DBResumeDataStorage::Worker::remove(const TorrentID &id) @@ -797,9 +797,9 @@ namespace { using namespace BitTorrent; - StoreJob::StoreJob(const TorrentID &torrentID, const LoadTorrentParams &resumeData) +StoreJob::StoreJob(const TorrentID &torrentID, LoadTorrentParams resumeData) : m_torrentID {torrentID} - , m_resumeData {resumeData} + , m_resumeData {std::move(resumeData)} { } diff --git a/src/base/bittorrent/dbresumedatastorage.h b/src/base/bittorrent/dbresumedatastorage.h index a7a97ab25..a98148cd7 100644 --- a/src/base/bittorrent/dbresumedatastorage.h +++ b/src/base/bittorrent/dbresumedatastorage.h @@ -49,7 +49,7 @@ namespace BitTorrent QList registeredTorrents() const override; LoadResumeDataResult load(const TorrentID &id) const override; - void store(const TorrentID &id, const LoadTorrentParams &resumeData) const override; + void store(const TorrentID &id, LoadTorrentParams resumeData) const override; void remove(const TorrentID &id) const override; void storeQueue(const QList &queue) const override; diff --git a/src/base/bittorrent/resumedatastorage.h b/src/base/bittorrent/resumedatastorage.h index f2df1b1e2..187a3eb37 100644 --- a/src/base/bittorrent/resumedatastorage.h +++ b/src/base/bittorrent/resumedatastorage.h @@ -60,7 +60,7 @@ namespace BitTorrent virtual QList registeredTorrents() const = 0; virtual LoadResumeDataResult load(const TorrentID &id) const = 0; - virtual void store(const TorrentID &id, const LoadTorrentParams &resumeData) const = 0; + virtual void store(const TorrentID &id, LoadTorrentParams resumeData) const = 0; virtual void remove(const TorrentID &id) const = 0; virtual void storeQueue(const QList &queue) const = 0; diff --git a/src/base/bittorrent/sessionimpl.cpp b/src/base/bittorrent/sessionimpl.cpp index cc943545a..9c0ae9eb4 100644 --- a/src/base/bittorrent/sessionimpl.cpp +++ b/src/base/bittorrent/sessionimpl.cpp @@ -1555,7 +1555,7 @@ void SessionImpl::processNextResumeData(ResumeSessionContext *context) // == END UPGRADE CODE == if (needStore) - m_resumeDataStorage->store(torrentID, resumeData); + m_resumeDataStorage->store(torrentID, resumeData); const QString category = resumeData.category; bool isCategoryRecovered = context->recoveredCategories.contains(category); @@ -3304,7 +3304,7 @@ void SessionImpl::saveResumeData() fetchPendingAlerts(waitTime); bool hasWantedAlert = false; - for (const lt::alert *alert : m_alerts) + for (lt::alert *alert : m_alerts) { if (const int alertType = alert->type(); (alertType == lt::save_resume_data_alert::alert_type) || (alertType == lt::save_resume_data_failed_alert::alert_type) @@ -5403,9 +5403,9 @@ void SessionImpl::handleTorrentFinished(TorrentImpl *const torrent) m_pendingFinishedTorrents.append(torrent); } -void SessionImpl::handleTorrentResumeDataReady(TorrentImpl *const torrent, const LoadTorrentParams &data) +void SessionImpl::handleTorrentResumeDataReady(TorrentImpl *const torrent, LoadTorrentParams data) { - m_resumeDataStorage->store(torrent->id(), data); + m_resumeDataStorage->store(torrent->id(), std::move(data)); const auto iter = m_changedTorrentIDs.constFind(torrent->id()); if (iter != m_changedTorrentIDs.cend()) { @@ -5803,7 +5803,7 @@ void SessionImpl::readAlerts() if (!isRestored()) m_loadedTorrents.reserve(MAX_PROCESSING_RESUMEDATA_COUNT); - for (const lt::alert *a : m_alerts) + for (lt::alert *a : m_alerts) handleAlert(a); if (m_receivedAddTorrentAlertsCount > 0) @@ -5837,7 +5837,7 @@ void SessionImpl::handleAddTorrentAlert(const lt::add_torrent_alert *alert) handleAlert(alert); } -void SessionImpl::handleAlert(const lt::alert *alert) +void SessionImpl::handleAlert(lt::alert *alert) { try { @@ -5864,7 +5864,7 @@ void SessionImpl::handleAlert(const lt::alert *alert) handleTorrentFinishedAlert(static_cast(alert)); break; case lt::save_resume_data_alert::alert_type: - handleSaveResumeDataAlert(static_cast(alert)); + handleSaveResumeDataAlert(static_cast(alert)); break; case lt::save_resume_data_failed_alert::alert_type: handleSaveResumeDataFailedAlert(static_cast(alert)); @@ -6483,7 +6483,7 @@ void SessionImpl::handleTorrentFinishedAlert([[maybe_unused]] const lt::torrent_ torrent->handleTorrentFinished(); } -void SessionImpl::handleSaveResumeDataAlert(const lt::save_resume_data_alert *alert) +void SessionImpl::handleSaveResumeDataAlert(lt::save_resume_data_alert *alert) { // The torrent can be deleted between the time the resume data was requested and // the time we received the appropriate alert. We have to decrease `m_numResumeData` anyway, @@ -6491,7 +6491,7 @@ void SessionImpl::handleSaveResumeDataAlert(const lt::save_resume_data_alert *al --m_numResumeData; if (TorrentImpl *torrent = getTorrent(alert->handle)) [[likely]] - torrent->handleSaveResumeData(alert->params); // TODO: Try to move `alert->params` + torrent->handleSaveResumeData(std::move(alert->params)); } void SessionImpl::handleSaveResumeDataFailedAlert(const lt::save_resume_data_failed_alert *alert) diff --git a/src/base/bittorrent/sessionimpl.h b/src/base/bittorrent/sessionimpl.h index e7689dc7a..d47e61dec 100644 --- a/src/base/bittorrent/sessionimpl.h +++ b/src/base/bittorrent/sessionimpl.h @@ -478,7 +478,7 @@ namespace BitTorrent void handleTorrentTrackersChanged(TorrentImpl *torrent); void handleTorrentUrlSeedsAdded(TorrentImpl *torrent, const QList &newUrlSeeds); void handleTorrentUrlSeedsRemoved(TorrentImpl *torrent, const QList &urlSeeds); - void handleTorrentResumeDataReady(TorrentImpl *torrent, const LoadTorrentParams &data); + void handleTorrentResumeDataReady(TorrentImpl *torrent, LoadTorrentParams data); void handleTorrentInfoHashChanged(TorrentImpl *torrent, const InfoHash &prevInfoHash); void handleTorrentStorageMovingStateChanged(TorrentImpl *torrent); @@ -579,7 +579,7 @@ namespace BitTorrent void updateSeedingLimitTimer(); void exportTorrentFile(const Torrent *torrent, const Path &folderPath); - void handleAlert(const lt::alert *alert); + void handleAlert(lt::alert *alert); void handleAddTorrentAlert(const lt::add_torrent_alert *alert); void handleStateUpdateAlert(const lt::state_update_alert *alert); void handleMetadataReceivedAlert(const lt::metadata_received_alert *alert); @@ -613,7 +613,7 @@ namespace BitTorrent void handleFileRenamedAlert(const lt::file_renamed_alert *alert); void handleFileRenameFailedAlert(const lt::file_rename_failed_alert *alert); void handlePerformanceAlert(const lt::performance_alert *alert) const; - void handleSaveResumeDataAlert(const lt::save_resume_data_alert *alert); + void handleSaveResumeDataAlert(lt::save_resume_data_alert *alert); void handleSaveResumeDataFailedAlert(const lt::save_resume_data_failed_alert *alert); void handleTorrentCheckedAlert(const lt::torrent_checked_alert *alert); void handleTorrentFinishedAlert(const lt::torrent_finished_alert *alert); diff --git a/src/base/bittorrent/torrentimpl.cpp b/src/base/bittorrent/torrentimpl.cpp index 87435816d..e89c59a67 100644 --- a/src/base/bittorrent/torrentimpl.cpp +++ b/src/base/bittorrent/torrentimpl.cpp @@ -1835,7 +1835,7 @@ void TorrentImpl::endReceivedMetadataHandling(const Path &savePath, const PathLi applyFirstLastPiecePriority(true); m_maintenanceJob = MaintenanceJob::None; - prepareResumeData(p); + prepareResumeData(std::move(p)); m_session->handleTorrentMetadataReceived(this); } @@ -2202,7 +2202,7 @@ void TorrentImpl::prepareResumeData(lt::add_torrent_params params) // We shouldn't save upload_mode flag to allow torrent operate normally on next run m_ltAddTorrentParams.flags &= ~lt::torrent_flags::upload_mode; - const LoadTorrentParams resumeData + LoadTorrentParams resumeData { .ltAddTorrentParams = m_ltAddTorrentParams, .name = m_name, @@ -2225,7 +2225,7 @@ void TorrentImpl::prepareResumeData(lt::add_torrent_params params) .sslParameters = m_sslParams }; - m_session->handleTorrentResumeDataReady(this, resumeData); + m_session->handleTorrentResumeDataReady(this, std::move(resumeData)); } void TorrentImpl::handleFastResumeRejected()