Commit Graph

170 Commits

Author SHA1 Message Date
arvidn a3440e54bb make aux::session_settings thread-safe. this allows all threads to share the same settings object, which has low contention and is rarely updated 2019-09-01 03:41:36 +02:00
arvidn b21eebbad7 minor simplification of power-of-2 test in create_torrent 2019-04-27 17:17:56 +02:00
arvidn ce52d9c685 remove left-over, rendant, encoding of the info-dict in create_torrent::generate() 2019-04-26 22:02:23 +02:00
arvidn 2990532d10 reduce the amount of hacky path/string handling code 2019-03-22 07:48:07 +01:00
Arvid Norberg 57cd2882d4 update symlinks to conform to BEP 47 2019-03-19 10:05:06 +01:00
Alden Torres 620eb39f2c missing changes 2019-03-11 14:38:26 +01:00
Alden Torres 1fe763483e minor lint oriented refactor, moved a couple of functions to aux 2019-03-11 14:38:26 +01:00
arvidn 381d5a3c5d add support for creating symlinks, for torrents with symlinks in them 2019-03-05 22:53:56 +01:00
arvidn f4f1425115 use UNC paths pervasively on windows 2019-01-12 21:00:40 +01:00
arvidn 3f87801142 fix some cppcheck warnings 2018-11-27 13:53:38 +01:00
arvidn 9463159e67 merged RC_1_1 into master 2018-10-20 00:22:10 +02:00
arvidn 269f0c5fb8 properly tear down the disk_io_thread object in set_piece_hashes() when exiting via an exception 2018-10-16 22:54:25 +02:00
arvidn d8755066e8 give some magic numbers names 2018-07-20 00:58:34 +02:00
Arvid Norberg 3fede4b223 merged RC_1_1 into master 2018-07-08 11:55:32 +02:00
arvidn b5cd959dd1 bump the minimum number of hash jobs per thread from 2 to 4 2018-07-07 18:02:24 +02:00
arvidn b67166b29d merged RC_1_1 into master 2018-06-24 17:59:28 +02:00
Arvid Norberg 78d9c284e9 use more threads when creating torrents 2018-06-24 16:49:57 +02:00
arvidn 5530793c75 improve the API for iterating over all files and pieces, with the new strong index types. 2018-06-12 11:44:29 +02:00
arvidn fe612ca167 replace the TORRENT_CFG ABI check with inline namespaces around the symbol that can change ABI based on build configuration options 2018-05-13 19:25:17 +02:00
arvidn f0227451a6 merged RC_1_1 into master 2018-04-13 01:47:41 +02:00
arvidn aaf9304a3b update year in copyright header 2018-04-09 09:04:33 +02:00
arvidn 5c1b65e9b8 merged RC_1_1 into master 2018-03-12 02:32:12 +01:00
arvidn a06e4f696b track whether a file is eligible for using the partfile on a per-file basis. This is intended to improve backwards compatibility, to better support resuming files downloaded with older versions of libtorrent 2018-03-11 12:52:56 +01:00
arvidn 65fef972a2 apply some c++11 modernization 2018-01-11 04:51:39 -05:00
Steven Siloti 5f25912694 remove unused infohash member in create_torrent 2018-01-11 02:43:09 -05:00
arvidn a93429c5db modernize piece-size selection in torrent creator and add a test 2018-01-09 03:19:44 -05:00
arvidn ad82be145b merged RC_1_1 into master 2018-01-08 22:52:23 +01:00
Chocobo1 1877724c17 raise auto piece size selection limit to 16 MB in create_torrent()
16 MB is chosen to have a bit more future proof
Also rewrite the auto piece size selection algorithm, so that it will scale with
torrent content size, suggested by @ssiloti.
2018-01-08 15:24:47 -05:00
arvidn 6785046c2f introduce a download_priority_t type, for uniform an type-safe piece- and file priorities 2017-11-02 08:20:21 +01:00
Alden Torres 27af8c398a more use of emplace_back and const in create_torrent.cpp 2017-10-03 10:53:04 +02:00
arvidn 93bb84d94c some random cleanup 2017-09-13 08:28:46 +02:00
arvidn 5bf28e37b8 make create_torrent flags type-safe 2017-08-04 21:23:42 +02:00
arvidn a8a5986046 make file attributes (in file_storage) type safe 2017-08-04 07:38:57 +02:00
Steven Siloti f0ae2145ea use a handle class for listen sockets instead of raw pointers
Listen socket handles need to be week_ptr so that they can detect when a listen
socket is removed in the middle of a tracker announce on it. Use a wrapper class
to enforce that no one outside of session_impl can hold ownership of the socket
across event boundaries.

To support unit tests, listen_socket_t is also split into a base class which
holds the members needed to support the public listen socket API.
2017-07-21 19:18:44 -07:00
arvidn 5c37eb174f drop support for windows compilers without std::string and wchar_t (believed to be old cygwin) 2017-07-02 08:24:55 -04:00
arvidn aa842948a3 storage_params cleanup 2017-06-20 10:27:28 -04:00
arvidn 4de9f6a75b remove requester parameter to disk read jobs 2017-06-08 12:38:25 +02:00
Alden Torres 0b391d6351 avoid extra sha1_hash memory copy, minor formatting (#1968) 2017-05-04 17:35:40 -04:00
arvidn 480bde9333 change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
arvidn 79d7ae3638 separate path and filesystem functions out into its own translation unit/header file pair, separating it from the file and directory class 2017-04-11 18:07:55 -04:00
arvidn 51c42adc3e steps towars making file_pool private to disk_io_thread 2017-04-07 08:38:35 -04:00
Alden Torres 97c8d0486c fixing sign-conversion warnings, part 21, file_flags (#1750)
fixing sign-conversion warnings, part 21, file_flags
2017-02-25 19:06:31 -05:00
arvidn 3ffa3f2a08 merged RC_1_1 into master 2017-02-17 00:35:49 -05:00
arvidn cbd1c26a11 fix ABI compatibility issue introduced with preformatted entry type 2017-02-12 20:42:30 -05:00
arvidn 173951ec7f merged RC_1_1 into master 2017-01-21 02:28:29 -05:00
arvidn c7c204280a make sure torrent_info::is_valid returns false when the file fails to load 2017-01-18 23:58:33 -05:00
Alden Torres 7ac2805c2c added custom resize methods to aux::vector (#1514)
added custom resize methods to aux::vector, code refactor
2017-01-12 18:40:59 -05:00
Alden Torres 3b4867046f fixing sign-conversion warnings, part 2 2017-01-10 20:19:03 -05:00
arvidn 4ebc344e48 make disk_io_thread responsible for the storage object. torrents refer to it by index 2017-01-01 13:54:39 -05:00
arvidn 5ed0086b51 removed mmap_cache feature 2016-12-25 21:12:49 -08:00