Commit Graph

462 Commits

Author SHA1 Message Date
Chocobo1
77f4e6c2cf Generate version header when configuring project
The basic idea is we create a version header template at
"src/base/version.h.in" and the build systems are expected to replace
strings that are enclosed with @ symbols and generate
"src/base/version.h" for other source files to consume/include.
2021-01-06 21:36:39 +02:00
Vladimir Golovnev (Glassez)
58ac07667e Use single parameter to accept torrent source 2021-01-06 21:36:34 +02:00
Vladimir Golovnev (Glassez)
74bf3af41c Use std::optional<bool> instead of custom TriStateBool 2021-01-06 21:36:33 +02:00
Vladimir Golovnev (Glassez)
dab32f2090 Use std::optional instead of boost::optional 2021-01-06 21:36:29 +02:00
Vladimir Golovnev (Glassez)
e55582124c Drop notification about move storage failed 2021-01-06 21:36:17 +02:00
Vladimir Golovnev (Glassez)
bd8b06c607 Drop notification about move storage finished 2021-01-06 21:36:16 +02:00
Chocobo1
ec420f6617 Bump project requirement to C++17 2021-01-06 21:31:47 +02:00
Chocobo1
d908227619 Add a thin layer around SettingsStorage class
This new layer would be handy for saving GUI widget states as they don't
need the value cached and they store/load rarely.
2021-01-06 21:31:45 +02:00
Vladimir Golovnev (Glassez)
c08ec1ac5e Allow to add root folder to torrent content 2020-12-26 20:27:34 +02:00
Vladimir Golovnev (Glassez)
b8f1142abe Improve torrent name handling 2020-12-26 20:27:31 +02:00
Chocobo1
78859415d6 Use a helper function to look up stat indexes 2020-12-26 20:27:29 +02:00
Chocobo1
ef92c17192 Don't use removed stat metric in libtorrent 2.0
For now, the metric is not entirely removed due to WebAPI still needs to
access it.
2020-12-26 20:27:28 +02:00
Vladimir Golovnev (Glassez)
2c2bb14b2a Fix bug of "move storage job" can be performed multiple times 2020-12-26 20:27:16 +02:00
Chocobo1
0b42425db5 Add support for allow_idna option
Upstream PR: https://github.com/arvidn/libtorrent/pull/5316
2020-12-26 20:27:08 +02:00
Vladimir Golovnev (Glassez)
926012ce71 Fix bug of torrents don't save "stopped" state 2020-12-26 20:27:00 +02:00
Vladimir Golovnev (Glassez)
5f34d1555b Fix received metadata handling 2020-12-26 20:26:54 +02:00
Vladimir Golovnev
f94f4d2391 Drop support for building with libtorrent < 1.2.11
Co-authored-by: Vladimir Golovnev <glassez@yandex.ru>
2020-12-26 20:26:52 +02:00
FranciscoPombal
817e9c4747 Fix method invocation on Qt < 5.10
Fixup 0c3fe54b0b
2020-12-26 20:26:48 +02:00
Vladimir Golovnev (Glassez)
28844eff44 Search for existing files in separate thread 2020-12-26 20:26:47 +02:00
Vladimir Golovnev (Glassez)
953b6fd6f8 Properly handle "Append extension" option changing 2020-12-26 20:26:45 +02:00
Vladimir Golovnev (Glassez)
9b4f3fcbf8 Clean up metadata downloading code 2020-12-26 20:26:43 +02:00
sledgehammer999
894446d308 Don't try to remove folders for a torrent without metadata 2020-12-26 20:26:34 +02:00
Vladimir Golovnev (Glassez)
1728c16580 Improve coding style 2020-11-24 16:14:14 +02:00
Vladimir Golovnev (Glassez)
3edaaa30c9 Handle torrent "paused" state at application level 2020-11-24 16:14:04 +02:00
NotTsunami
88a90ed7d4 Fix mingw64 build error
mingw64 defines interface, so revert back to previous naming scheme

Fixes: 87864531ab
Closes #13649
2020-11-24 16:13:51 +02:00
Vladimir Golovnev (Glassez)
9171dffe97 Prevent resume data to be saved for removed torrent 2020-11-24 16:13:25 +02:00
Vladimir Golovnev
720c1c8216 Merge pull request #13395 from glassez/disk_io
Implement disk IO thread wrapper
2020-10-17 12:53:25 +03:00
Anton Bershanskiy
b4bfdd6f7a Add option for hashing_threads, use 10 asyc IO threads
Add option for setting lt::settings_pack::hashing_threads
introduced by libtorrent 2.0. It has no effect for earlier
libtorrent versions.
Use 10 async IO threads, as per #11461.
Closes #11461.
2020-10-13 00:58:13 +03:00
FranciscoPombal
deffdbe881 Change some types (uint -> int) in Session class 2020-10-07 23:26:13 +01:00
FranciscoPombal
87864531ab Clean up in Session class 2020-10-07 23:26:13 +01:00
Chocobo1
ac3ab2432a Remove redundant namespace prefix 2020-09-25 15:10:20 +08:00
Mike Tzou
c3b5668a07 Merge pull request #12577 from NotTsunami/peer
Allow users to configure no_connect_privileged_ports
2020-09-22 00:02:20 +08:00
NotTsunami
2eb3ff7f06 Allow users to configure no_connect_privileged_ports
Don't hardcode lt::settings_pack::no_connect_privileged_ports. We
support the peer alert for it already, so connections blocked by this
setting should be logged.
2020-09-20 22:46:28 -04:00
Vladimir Golovnev (Glassez)
39d32063c1 Implement disk IO thread wrapper 2020-09-18 15:56:29 +03:00
Vladimir Golovnev (Glassez)
ff36356be0 Improve sequentialDownload/firstLastPiecePriority handling
Always store firstLastPiecePriority in resume data.
Don't recalculate firstLastPiecePriority value each time it is accessed.
Always store sequentialDownload in resume data as native libtorrent field.
2020-09-18 13:33:55 +03:00
FranciscoPombal
e0c62827a8 Fix peer blocked message 2020-09-16 16:59:51 +01:00
Chocobo1
8cfac795c6 Avoid using libtorrent internal functions
`char const* socket_type_name(socket_type_t);` is decided to be not
exported and thus it is internal:
https://github.com/arvidn/libtorrent/pull/4859/files#r452925563
2020-09-13 12:22:31 +08:00
Mike Tzou
8d57a6527b Merge pull request #13355 from Chocobo1/allocate
Enable faster disk space allocation by default
2020-09-12 23:39:49 +08:00
Mike Tzou
2d1855dc05 Merge pull request #13354 from Chocobo1/libt2
Disable deprecated settings in libtorrent 2.0
2020-09-12 11:02:12 +08:00
Chocobo1
01603c1f62 Enable faster disk space allocation by default
In libtorrent > 2.0, the setting is turned off by default, now we just
re-enable it to preserve the behavior as in earlier versions.
2020-09-10 22:12:35 +08:00
Chocobo1
2fd69a21b0 Initialize session with session_params class
The old way of initialization is deprecated in libtorrent 2.0.
2020-09-09 16:16:08 +08:00
Chocobo1
554eab50bb Disable deprecated libtorrent settings 2020-09-09 16:16:08 +08:00
Vladimir Golovnev
defdd5121c Merge pull request #13340 from glassez/fix-magnet
Improve adding torrent using Magnet URI
2020-09-09 10:06:39 +03:00
Mike Tzou
6e971c47e7 Merge pull request #13319 from an0n666/tracker-queue
Expose libtorrent max_concurrent_http_announces in advanced settings
2020-09-09 11:48:25 +08:00
Vladimir Golovnev (Glassez)
20206ec92a Improve adding torrent using Magnet URI
Closes #13249.
2020-09-08 14:56:38 +03:00
an0n666
73b39a8dec Expose libtorrent max_concurrent_http_announces in advanced settings 2020-09-08 06:05:45 +06:00
Chocobo1
79bb8227d0 Migrate away from deprecated address::to_string(error_code)
The other overload require users to handle exceptions themselves.
2020-09-07 14:48:13 +08:00
Chocobo1
25a47dadeb Migrate away from deprecated address::from_string() 2020-09-07 14:27:18 +08:00
Chocobo1
2a2ae2a566 Add helper function to convert to string from lt::socket_type_t type 2020-09-07 13:48:57 +08:00
Sophist
4c37c229d9 Expose LibTorrent peer_turnover settings
This PR exposes the LibTorrent Peer Turnover Settings in qBT Advanced Settings in order to allow users to adjust how frequently slow and uninteresting connections are closed to allow potentially better / faster connections to be made.

The default settings are to turnover peers when the number of connections is at least 90% of allowed global or per torrent connections, and to disconnect the least attractive 4% of these connections every 5 minutes.

See https://www.libtorrent.org/reference-Settings.html#peer_turnover
2020-08-19 20:11:58 +01:00