diff --git a/src/base/bittorrent/addtorrentparams.h b/src/base/bittorrent/addtorrentparams.h index 6976746f5..280849abd 100644 --- a/src/base/bittorrent/addtorrentparams.h +++ b/src/base/bittorrent/addtorrentparams.h @@ -52,5 +52,7 @@ namespace BitTorrent bool skipChecking = false; TriStateBool createSubfolder; TriStateBool useAutoTMM; + int uploadLimit = -1; + int downloadLimit = -1; }; } diff --git a/src/base/bittorrent/session.cpp b/src/base/bittorrent/session.cpp index c00dadfc3..52ce82819 100644 --- a/src/base/bittorrent/session.cpp +++ b/src/base/bittorrent/session.cpp @@ -2193,6 +2193,8 @@ bool Session::addTorrent_impl(AddTorrentData addData, const MagnetUri &magnetUri p.max_connections = maxConnectionsPerTorrent(); p.max_uploads = maxUploadsPerTorrent(); p.save_path = Utils::Fs::toNativePath(savePath).toStdString(); + p.upload_limit = addData.uploadLimit; + p.download_limit = addData.downloadLimit; m_addingTorrents.insert(hash, addData); // Adding torrent to BitTorrent session diff --git a/src/base/bittorrent/torrenthandle.cpp b/src/base/bittorrent/torrenthandle.cpp index 9f3f4a4d4..eefc7d5d9 100644 --- a/src/base/bittorrent/torrenthandle.cpp +++ b/src/base/bittorrent/torrenthandle.cpp @@ -95,6 +95,8 @@ AddTorrentData::AddTorrentData() , hasRootFolder(true) , addForced(false) , addPaused(false) + , uploadLimit(-1) + , downloadLimit(-1) , ratioLimit(TorrentHandle::USE_GLOBAL_RATIO) , seedingTimeLimit(TorrentHandle::USE_GLOBAL_SEEDING_TIME) { @@ -118,6 +120,8 @@ AddTorrentData::AddTorrentData(const AddTorrentParams ¶ms) , addPaused(params.addPaused == TriStateBool::Undefined ? Session::instance()->isAddTorrentPaused() : params.addPaused == TriStateBool::True) + , uploadLimit(params.uploadLimit) + , downloadLimit(params.downloadLimit) , filePriorities(params.filePriorities) , ratioLimit(params.ignoreShareLimits ? TorrentHandle::NO_RATIO_LIMIT : TorrentHandle::USE_GLOBAL_RATIO) , seedingTimeLimit(params.ignoreShareLimits ? TorrentHandle::NO_SEEDING_TIME_LIMIT : TorrentHandle::USE_GLOBAL_SEEDING_TIME) diff --git a/src/base/bittorrent/torrenthandle.h b/src/base/bittorrent/torrenthandle.h index 167fec71d..d6dbbb56b 100644 --- a/src/base/bittorrent/torrenthandle.h +++ b/src/base/bittorrent/torrenthandle.h @@ -104,6 +104,8 @@ namespace BitTorrent bool hasRootFolder; bool addForced; bool addPaused; + int uploadLimit; + int downloadLimit; // for new torrents QVector filePriorities; // for resumed torrents