Commit Graph

153 Commits

Author SHA1 Message Date
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
Alden Torres c1a2e7290c added explicit time_t cast to avoid warnings in android 32 bits 2016-12-22 21:24:25 -05:00
Arvid Norberg 3f1084d63d strengthened type safety in handling of piece and file indices (#1409)
strengthened type safety in handling of piece and file indices
2016-12-22 10:42:33 -05:00
Alden Torres e73435a77b fixed shorten-64-to-32 warnings for clang 2016-12-10 08:57:08 -05:00
Alden Torres ffdf5c0f5d avoid unnecessary creation of strings in create_torrent 2016-12-06 22:53:55 -05:00
Arvid Norberg 15ab8f387b cleaning up of disk_interface and improving type safety (#1353)
cleaned up disk_interface and improved type safety. removed unused disk status code disk_check_aborted, and removed status code return value for async_hash
2016-11-26 01:51:47 -05:00
arvidn fc9dabe1ab start chipping away at removing disk_io_job from the disk_interface 2016-11-23 19:02:05 -05:00
Alden Torres 9e1305ed75 auto loop, consts and minor cleanup refactor 2016-11-15 19:54:38 -05:00
arvidn 14236993ea collapse logic in piece_manager into storage directly 2016-11-13 02:53:16 -05:00
arvidn 11ca69b9fc simplify disk_io_thread interface by setting the number of threads via settings rather than a separate function 2016-11-06 23:07:09 -05:00
Arvid Norberg 8daa200d11 simplify interaction with disk_io_thread by removing the uncork interface (#1271)
simplify the interaction with the disk_io_thread by removing the uncork interface. This should be turned into a transparent part of peer_connection instead and remove cork logic from peer_connection
2016-10-30 18:21:07 -04:00
Pavel Pimenov 91845aa6c8 Prevent duplicate url (#1231)
prevent creating torrents with duplicate trackers as well as adding duplicate trackers to torrent_info
2016-10-19 17:28:35 -04:00
Arvid Norberg 7a52a285a1 back-port error_code cleanup from master (#1173)
back-port error_code cleanup from master
2016-10-03 16:32:40 -07:00
Arvid Norberg cebd976cc2 fix error_code vs. error_condition traits (#1169)
fix error_code vs. error_condition traits. deprecate get_*_category(), instead use *_category()
2016-10-02 12:27:50 -07:00
Arvid Norberg da8af033cc modernize utf8 conversion functions to throw and move (#1145)
modernize utf8 conversion functions to throw and move
2016-09-24 22:16:10 -04:00
Arvid Norberg 48a647a169 String view entry (#1147)
make entry support string_view in its interface, and make it efficient when in in C++14
2016-09-24 06:10:54 -07:00
Arvid Norberg 269e384c2c use string_view in create_torrent (#1120)
use string_view in create_torrent
2016-09-21 19:59:43 -07:00
Alden Torres bf0008933a refactor to use std::shared_ptr with peer_connection, core and tests (#1050) 2016-08-31 21:42:18 -04:00