Commit Graph

984 Commits

Author SHA1 Message Date
arvidn f57b90b500 introduce type for torrent queue_position 2017-11-01 10:52:45 +01:00
arvidn a6c85496b5 make parse_magnet_uri return the add_torrent_params instead of of taking an in-out parameter 2017-10-15 04:29:53 +02:00
arvidn 516df740a3 make session_handle::get_torrent_status return the vector instead of taking an out-parameter 2017-10-14 23:35:35 +02:00
arvidn 2e6150de52 make it possible to override alert_mask and user_agent settings on the client_test command line 2017-09-29 23:52:33 -07:00
Steven Siloti 0232dc35cd deprecate lock_files (#2344)
File locking interacts poorly with the path to replace a read only file handle
with a read/write one. For performance reasons the old handle is not closed
until the new one is put in place. With file locking this obviously cannot
work because the first handle is holding a lock on the file. As a result,
file_pool::open_file fails in this case. Even if we dropped the reference to
the read only file handle before attempting to re-open it, the open could still
fail if another thread is holding a reference to the read only handle.

There doesn't seem to be a good way around this. The simple solution would be
to always open files in read/write mode, but that has obvious safety downsides.
Any other solution would significantly complicate the file pool code.
Deprecating file locking seems to be the least bad option.
2017-09-17 10:43:27 +02:00
arvidn 4ef2e095bb simplify client_test and remove some old scanf and fopen use 2017-09-10 21:10:34 +02:00
Steven Siloti 626ce25225 cmake: build examples in the same solution as libtorrent
Keep the search script for reference
2017-08-26 08:38:05 +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
arvidn 24e4263bae make torrent status flags be type safe 2017-07-27 09:33:35 -07:00
arvidn b38efb6c65 make alert category flags be a strong type 2017-07-26 07:20:47 -07:00
arvidn 78bbd298a5 convert file_open_mode to type safe flags 2017-07-22 23:58:24 -07:00
Steven Siloti 140b8ace8d remove use of deprecated function readdir_r 2017-07-22 22:40:17 -07:00
arvidn c4eb4c8b5f use span in torrent_info constructors and deprecate the redundant flags argument 2017-07-22 00:00:44 -07:00
arvidn c4659bc345 convert peer_flags and peer_source_flags to type-safe flags 2017-07-17 10:22:32 -07:00
arvidn 4947602a2f make add_torrent_params::flags_t an enum class and move it out into its own header 2017-07-17 01:05:31 -07:00
AllSeeingEyeTolledEweSew 00655d562b Refactor several flags to torrent_handle::get_flags/set_flags. 2017-07-17 01:05:31 -07:00
arvidn c4afb5e949 use a dedicated class template for flags types instead of enum class. It's more backwards compatible and improves ergonomics 2017-07-15 01:15:57 -07:00
arvidn fab8af6be2 don't depend on or define UNICODE and _UNICODE on windows 2017-07-02 11:05:53 -04:00
arvidn f85c01cc0a merged RC_1_1 into master 2017-06-21 00:51:43 -04:00
arvidn aa842948a3 storage_params cleanup 2017-06-20 10:27:28 -04:00
arvidn f04d729d43 enforce spell checking on CI 2017-06-18 15:51:51 -04:00
arvidn 1fd350cf60 make operation_t an enum class, for type safety 2017-06-15 07:00:06 -04:00
arvidn ffaabd846c make file open mode flags be an enum class for type-safety 2017-05-28 11:16:59 -04:00
Arvid Norberg 660cdaf2d1 deprecate direct access to array in session_stats_alert (#2033) 2017-05-27 20:33:31 -04:00
arvidn 4709c03ab1 use session_params to load dht state before creating the session in client_test 2017-05-25 14:57:46 -04:00
arvidn a9044e4d97 modernize session_view example to use c++11 2017-05-17 23:05:14 -04:00
Steven Siloti 17bb00c042 add missing checks for best_ae being valid 2017-05-15 00:33:10 -04:00
arvidn d2d96d6649 reload torrents asynchronously when starting client 2017-05-07 20:51:32 -04:00
arvidn 8c57d11778 minor fixes and changes to client_test 2017-05-07 20:41:28 -04:00
arvidn ad8c29b6fc fix typo in client_test 2017-05-06 05:46:12 -04:00
arvidn 7b9ada7a95 make connection_tester generate_block take a span 2017-05-05 12:27:00 -04:00
arvidn 4530f56616 minor cleanup of client_test 2017-05-03 07:30:10 -04:00
arvidn 749d0da875 make iovec_t an alias for span<char>, in preparation for removing it altogether in favour of span 2017-04-30 11:49:08 -04:00
Steven Siloti fd50630020 announce to trackers for all listen interfaces 2017-04-30 08:11:56 -04:00
arvidn d138f02424 introduce lt namespace alias 2017-04-23 23:43:58 -04:00
arvidn 645d658214 merged RC_1_1 into master 2017-04-13 07:42:32 -07:00
Arvid Norberg e7a379551c discourage forward declarations of libtorrent types, introduce forward declaration header (#1910) 2017-04-13 06:48:01 -07: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
Arvid Norberg 09274842f7 fix resume data issue in client_test and some warnings (#1897)
fix resume data issue in client_test and some warnings
2017-04-09 09:37:06 -04:00
Arvid Norberg 13b16a63a3 use unsigned type for file flags. make file_pool private to disk_io_thread (#1894)
use unsigned type for file flags. make file_pool private to disk_io_thread. move close_file_interval logic to the disk thread. don't expose file in public interface, and make pool_file_status properly public (not part of file_pool and renamed to open_file_status), this is exposed in public interface via torrent_handle::file_status()
2017-04-08 18:24:50 -04:00
arvidn 51c42adc3e steps towars making file_pool private to disk_io_thread 2017-04-07 08:38:35 -04:00
arvidn 7c35c2270f improve client_test 2017-04-04 18:22:10 -04:00
Arvid Norberg 694127a875 fix build (#1874)
fix build
2017-03-30 22:51:39 -04:00
arvidn 0b6fe4d0bd merged RC_1_1 into master 2017-03-30 18:07:24 -04:00
Arvid Norberg d896e9bab3 replace use of add_torrent_params::url in some examples (#1866)
replace use of add_torrent_params::url in some examples
2017-03-29 19:19:23 -04:00
Arvid Norberg b8e77444d5 use span for read_resume_data() (#1867)
use span for read_resume_data()
2017-03-29 16:10:32 -04:00
Arvid Norberg 8ebbad19d4 deprecate add_torrent_params::url field. use parse_magnet_uri instead (#1864)
deprecate add_torrent_params::url field. use parse_magnet_uri instead
2017-03-29 02:16:07 -04:00
arvidn d5a6256b51 improve documentation on peer classes 2017-03-27 23:39:03 -04:00
arvidn b25178e7c8 avoid flooding the alert queue in client_test 2017-03-26 21:48:27 -04:00
arvidn fb60c23807 improve resume data handling in client_test 2017-03-26 19:04:50 -04:00
arvidn 6cdd598e7c make add_torrent_params movable and have add_torrent/async_add_torrent take it by value 2017-03-26 16:48:57 -04:00
Arvid Norberg 967ad06899 greatly simplify client_test (#1851)
greatly simplify client_test
2017-03-26 14:20:40 -04:00
arvidn 9ea9075b2a remove support for adding torrents by http URLs in client_test (since that's deprecated) 2017-03-26 12:11:28 -04:00
Arvid Norberg 103b1176c1 remove torrent_file_path asynchronous loading of .torrent files. (#1848)
remove torrent_file_path asynchronous loading of .torrent files. This is not the responsibility of the client, to simplify and unify the path of adding torrents
2017-03-26 09:16:42 -04:00
arvidn 7640c0641e optimize download queue management with an explicit queue 2017-03-25 20:47:33 -04:00
Arvid Norberg 2c131dbbc4 optimize client_test path handling (#1845)
optimize client_test path handling
2017-03-25 00:01:47 -04:00
arvidn 488c1a2dcf deprecated (undocumented) file:// urls, added torrent_file_path alternative 2017-03-23 20:26:55 -04:00
arvidn 64f5567cdd merged RC_1_1 into master 2017-03-19 12:58:55 -04:00
arvidn ddf2c2e1ca don't call libtorrent functions from global constructor 2017-03-19 10:10:12 -04:00
arvidn 1dd0e9b280 use string_view instead of strcmp 2017-03-18 15:54:38 -04:00
Arvid Norberg 65cb7cdf34 improve deprecated markup (#1823)
improve deprecated markup
2017-03-17 20:41:47 -04:00
arvidn 6f650aa7d9 document deprecation of dynamic loading/unloading of torrents 2017-03-13 21:21:38 -04:00
Andrei Kurushin 713c412682 loop conversion #2 (#1804)
loop conversions. replace unsafe "erase(iter++)" with "iter = erase(iter)"
2017-03-12 11:34:42 -04:00
Arvid Norberg 94effa6ba7 improve parallelism of connection_tester gen-torrent (#1805)
improve parallelism of connection_tester gen-torrent
2017-03-11 19:03:19 -05:00
arvidn 6d54c20adf merge RC_1_1 into master 2017-03-08 18:01:59 -05:00
Arvid Norberg a34ce0278e add write_resume_data() function (#1776)
add write_resume_data() function. Make resume data alert use an add_torrent_params object
2017-03-05 09:31:28 -05:00
arvidn 56925ee8f3 fix openssl include in makefile 2017-02-26 14:07:55 -05:00
arvidn 081365fbcf merge RC_1_1 into master 2017-02-26 00:48:12 -05:00
arvidn 5a19c9a5a1 fix makefile 2017-02-25 23:01:28 -05:00
Arvid Norberg 3d06371f31 factor out some common storage utilities out of storage.cpp (#1515)
factor out some common storage utilities out of storage.cpp
2017-01-11 00:42:10 -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 2b58cb9de3 using std instead of boost for integral types and some headers cleanup 2016-11-12 21:22:59 -05:00
arvidn 1f04520e3b Merge branch 'RC_1_1' 2016-11-12 17:40:27 -05:00
arvidn d92f9ecc50 fix typo 2016-11-12 01:08:24 -05:00
arvidn d4be34ddce fix signed shift bug in client_test 2016-11-12 01:05:34 -05:00
arvidn d91f6f8c05 merged RC_1_1 into master 2016-11-03 01:19:38 -04:00
Arvid Norberg 21d05945f2 documentation and deprecation fixes (#1275)
documentation and deprecation fixes
2016-10-31 20:00:01 -04:00
Arvid Norberg d1a59879cb deprecate mmap_cache (#1269)
deprecated mmap_cache feature
2016-10-29 13:42:42 -04:00
arvidn 500bb24dba merged RC_1_1 into master 2016-10-26 23:30:58 -04:00
Alden Torres 6751a1eeb1 removed spaces in template types and more c++11 auto/loop refactor 2016-10-26 00:08:00 -04:00
Arvid Norberg 675d16a2c3 remove remainder of eviction/ghost torrent feature (#1251)
remove remainder of eviction/ghost torrent feature
2016-10-25 08:02:34 -04:00
Arvid Norberg f16d0b7953 add unit test for 'file_sizes' entry in resume data (#1248)
add unit test for 'file_sizes' entry in resume data. fix resume data bug in client_test for magnet links and minor resume data cleanup in default_storage
2016-10-23 22:01:09 -04:00
Alden Torres ded3ed6abf refactor in alert types to use more const fields and more clear API (#1222)
refactor in alert types to use more const fields and more clear API
2016-10-19 01:32:15 -04:00
Alden Torres 0f20af3710 minor refactor, consts and cleanup in alerts (#1210)
minor refactor, consts and cleanup in alerts
2016-10-16 03:12:41 -04:00
Arvid Norberg c18c12a144 remove ghost torrent/torrent eviction feature. (#1214)
remove ghost torrent/torrent eviction feature. It was very complex and did not solve the problem very well
2016-10-15 13:32:59 -04:00
Arvid Norberg e0c8ad738d include target in DHT lookups, when queried from the session (#1207) 2016-10-12 23:39:00 -04:00
arvidn 1c89fcda48 merge RC_1_1 into master 2016-10-08 14:17:51 -04:00
Arvid Norberg 15bf443bfd fix connection_tester to support generating fake data for arbitrary torrents (#1181) 2016-10-04 07:31:07 -07: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 a057e22e90 don't use internal functions in connection_tester (#1172) 2016-10-02 21:17:14 -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
Alden Torres 84e735c0ea refactor for more use of move with settings_pack (#1162) 2016-09-28 13:28:43 -04:00
Arvid Norberg 97c6a75084 add proper error handling to peer connections and session (#1149)
add proper error handling to peer connections and session. i.e. catch exceptions in asio handlers and catch by const reference
2016-09-25 09:50:48 -04:00
Alden Torres a75c2ba47e fix examples/make_torrent.cpp compilation (#1140)
fix examples/make_torrent.cpp compilation
2016-09-23 07:45:35 -07:00
arvidn 1d677f24d2 fix 2016-09-22 16:28:12 -07:00
arvidn 70199041f7 merged RC_1_1 into master 2016-09-22 13:48:12 -07:00
arvidn 93381505d0 clean up some examples 2016-09-18 17:14:18 -07:00
arvidn 33414de68d merged RC_1_1 into master 2016-09-11 21:01:03 -04:00
Alden Torres 4c53d7b2da refactor to use std unordered containers and minor cleanup (#1070) 2016-09-06 23:37:36 -04:00