Commit Graph

355 Commits

Author SHA1 Message Date
Alden Torres 2f7adfbb92 no more deprecated std::random_shuffle (#999)
replace deprecated std::random_shuffle. more aggressive random_shuffle in DHT simulation setup. use travis_retry.
2016-08-14 19:48:31 -04:00
Arvid Norberg e9a7271aca add piece picker test for re-prioritizing downloading/writing/partial pieces (#989)
add piece picker test for re-prioritizing partial pieces and forward port steven's piece picker fix from RC_1_1
2016-08-07 16:05:20 -04:00
Steven Siloti d4296730d0 fix re-prioritizing a piece while it is downloading (#987)
update_piece_state does not expect that the piece's priority has also changed
since the last time the piece was updated. Make sure the piece's priority is
updated before trying to update the state.
2016-08-07 15:27:04 -04:00
Arvid Norberg 71f5510d62 make the random function produce proper random distributions, based o… (#981)
make the random function produce proper random distributions, based on uniform_int_distribution of C++11. also clean up piece_picker's priority_range to return two results instead of taking pointers to out-parameters. fix recent pe-crypto regression exposed by this change
2016-08-06 13:18:48 -04:00
Arvid Norberg caa034b1ac fix typo and add invariant check to piece_picker (#977)
fix typo and add invariant check to piece_picker
2016-08-02 07:20:13 -04:00
Alden Torres e55a310e79 use of BOOST_FALLTHROUGH, typos and minor cleanup 2016-08-01 11:42:18 -04:00
Arvid Norberg 770935cd46 modernize-use-nullptr (#894) 2016-07-09 16:26:26 -04:00
Arvid Norberg 1facf0eef6 clean-up more defines (#872)
clean-up more defines. remove TORRENT_DEBUG and TORRENT_DISABLE_INVARIANT_CHECKS (instead use TORRENT_USE_ASSERTS and TORRENT_USE_INVARIANT_CHECKS)
2016-07-01 19:46:59 -04:00
Arvid Norberg 31b2a03005 some optimizations (#858)
allow disk I/O callback objects to be moved into disk io jobs
2016-06-27 01:02:00 -04:00
Arvid Norberg 6aabe3762b general modernization (#836)
general modernization. use nullptr instead of NULL, use std::tuple instead of boost::tuple, transition some unordered set/map from boost to std. some clean-up of includes
2016-06-20 11:32:06 -04:00
Arvid Norberg ed077c8358 use cstdint intead of boost/cstdint.hpp (#833)
use cstdint intead of boost/cstdint.hpp
2016-06-18 14:01:38 -04:00
Arvid Norberg 96999ad67f replace uses of boost::bind with std::bind and lambdas (#745) 2016-05-25 00:31:52 -04:00
Arvid Norberg 748af6eec1 general cleanup. remove valgrind markup, log_hash_failures and C headers (#752)
general cleanup. remove valgrind markup, log_hash_failures and C headers
2016-05-23 08:15:39 -04:00
Arvid Norberg e8380e1d0b factor out includes from config.hpp into the files actually using it. primarily, printf family of functions, since C++11 version is used now. This removes the need for an snprintf-wrapper on windows (#732) 2016-05-17 09:24:06 -04:00
Arvid Norberg a7213d3f5a don't support older than msvc-14 (2015) (#727)
don't support older than msvc-14 (2015)
2016-05-12 21:24:45 -04:00
Arvid Norberg c91a700c07 Msvc warnings (#685)
fix msvc warnings and build examples with warnings-as-errors
2016-05-02 12:36:21 -04:00
Arvid Norberg c557432431 attempt to run cppcheck on travis (#644)
run cppcheck on travis
2016-04-26 18:09:11 -04:00
Andrei Kurushin 62eb956c54 fix x64 build with VS2015 UP2 compiler (#640)
fix VS2015 compiler warnings for: address-model=64, deprecated-functions=on, link=shared
2016-04-25 17:22:09 -04:00
Andrei Kurushin 7b5d48c02a fix default release build with VS2015 UP2 compiler warnings (#624)
* fix default release build with VS2015 UP2 compiler warnings
this will allow to successfully build:
bjam toolset=msvc-14.0 release deprecated-functions=off character-set=unicode link=static warnings-as-errors=on
2016-04-17 16:56:07 -04:00
arvidn cee2b16949 fix some coverity warnings and move out code to torrent_status.cpp 2016-04-07 21:44:24 -04:00
arvidn 387498e54f clean up in piece picker 2016-04-06 00:45:21 -04:00
arvidn 07ecf7c1bd remove invalid assert 2016-02-27 00:25:21 -05:00
arvidn 1f9f588e75 merge copyright year update and changelog from RC_1_0 2016-01-17 18:57:46 -05:00
arvidn fd3b53604c add new piece picker logging alert category 2015-11-29 08:25:55 -05:00
arvidn 2626159abe use a consistent random number generator to make simulations deterministic 2015-11-12 00:21:56 -05:00
arvidn a48cb785d0 forward port piece_block patch from RC_1_0 2015-11-07 18:50:54 -05:00
arvidn fa450b4bf7 attempt to fix invalid vector subscript bug in piece_picker 2015-08-20 21:37:22 +02:00
arvidn ffa870d280 fixed some GCC warnings 2015-08-20 01:33:20 +02:00
arvidn f6b86dc4b5 add typesafety to piece_picker torrent_peer pointers. and fix a few incorrect uses 2015-08-18 04:25:13 -04:00
arvidn 9a0092c120 fix some warnings 2015-08-16 12:17:23 -04:00
arvidn a81ca2391b fix some warnings 2015-08-10 20:03:24 -04:00
arvidn 6068418def fix and re-enable simulations 2015-08-09 00:56:37 -04:00
arvidn 655a3ae019 fix some warnings 2015-08-01 23:57:11 -04:00
arvidn d1670c72c2 removed sparse-regions support 2015-06-29 20:40:32 -04:00
Arvid Norberg d43f7b56a2 update copyright year 2015-06-03 05:18:48 +00:00
Arvid Norberg 607e708bc4 fix warnings 2015-05-19 03:13:49 +00:00
Arvid Norberg 4a304273fd fix some coverity issues 2015-05-03 03:28:39 +00:00
Arvid Norberg ab0c97755e merged fixes from RC_1_0 2015-04-29 05:48:09 +00:00
Arvid Norberg 0d72163a56 fix coverity warnings 2015-04-29 05:46:35 +00:00
Arvid Norberg f0336017d1 fix gcc warnings and missing header files in makefiles 2015-04-26 00:51:44 +00:00
Arvid Norberg 3951377d95 fix include paths for warning push and pop headers 2015-04-21 01:16:28 +00:00
Arvid Norberg 4d15f1410f fix warnings, some clean-up and todo comments 2015-04-20 04:52:49 +00:00
Arvid Norberg 408232cfc8 raise warning level. fix a few of them. filter out warnings from boost 2015-04-18 02:33:39 +00:00
Arvid Norberg 14e97b8151 build fix 2015-03-08 04:49:10 +00:00
Arvid Norberg fd1d349457 valgrind build fix 2015-02-24 01:58:26 +00:00
Arvid Norberg 5ea0db3145 extend piece_picker unit test and comment out unused function 2015-02-15 22:01:15 +00:00
Arvid Norberg 43021f5f22 remove todo comment 2015-02-14 23:31:44 +00:00
Arvid Norberg 2fdb7499fa optimize block_info allocation and downloading_piece size in piece_picker 2015-02-14 21:32:41 +00:00
Arvid Norberg 51f1a61d2d more piece_picker unit tests and some fixes 2015-02-13 02:58:21 +00:00
Arvid Norberg 01ee9cd9af more work on piece_picker unit test 2015-02-12 06:43:46 +00:00
Arvid Norberg 72d015c86a extend piece_picker unit test 2015-02-12 03:16:53 +00:00
Arvid Norberg 2d4949cfed test coverage script 2015-02-10 06:02:51 +00:00
Arvid Norberg 7395a91bf4 clean up piece picker interface to make piece_pos private again 2015-02-08 22:15:59 +00:00
Arvid Norberg 84fe616ccb extend piece picker unit test 2015-02-08 21:44:58 +00:00
Arvid Norberg 9fb98b1151 remove speed affinity feature in piece-picker and peers 2015-02-08 21:17:00 +00:00
Arvid Norberg 497f7a4a27 piece picker fix for random mode 2015-02-08 21:12:10 +00:00
Arvid Norberg a8623a9b23 request partial pieces in rarest-first order 2015-02-08 18:01:29 +00:00
Arvid Norberg 512113510b introduce another rule where we prioritize partial pieces in the piece picker to avoid having too many bytes outstanding in partial pieces (especially very large pieces) 2015-02-08 16:52:57 +00:00
Arvid Norberg 097d5b484d improve piece picker support for reverse picking (used for snubbed peers) to not cause priority inversion for regular peers 2015-01-26 02:04:58 +00:00
Arvid Norberg d41d59d780 improve prefer-contiguous-blocks in piece_picker, to actually pick a contiguous range 2015-01-20 03:46:40 +00:00
Arvid Norberg d8d069675c improve piece picker to better support torrents with very large pieces and web seeds 2015-01-20 02:34:55 +00:00
Arvid Norberg e6eb920021 piece picker cleanup 2015-01-19 22:07:53 +00:00
Arvid Norberg 0f37e3403c transition from intrusive_ptr to shared_ptr. don't export initialize_default_settings 2015-01-06 08:08:49 +00:00
Arvid Norberg 7351389ce8 land libtorrent_aio branch in trunk 2014-07-06 19:18:00 +00:00
Arvid Norberg 6043e14131 remove pch.hpp 2014-06-28 23:45:46 +00:00
Arvid Norberg e225259481 fix some msvc warnings 2014-05-10 03:23:05 +00:00
Arvid Norberg 3192e59a1a improve piece_deadline/streaming 2014-04-22 04:21:14 +00:00
Arvid Norberg 569ce0a965 honor pieces with priority 7 in sequential download mode 2014-04-03 02:03:14 +00:00
Arvid Norberg 369b1777d1 fix build 2014-03-17 03:41:35 +00:00
Arvid Norberg a943fec777 update copyright 2014-02-23 19:12:25 +00:00
Arvid Norberg 1f5373599d fix typo 2014-01-25 08:16:51 +00:00
Arvid Norberg 2ac9c30dc9 fix valgrind check 2014-01-25 01:53:33 +00:00
Arvid Norberg 99d9916c29 some more piece_picker asserts 2014-01-22 09:53:47 +00:00
Arvid Norberg e0644ce8f5 invariant check macro fixes 2014-01-21 19:26:09 +00:00
Arvid Norberg 702b68ecc4 clean up assert related defines and debuf-only fields less error-prone. fix missing initialization in file_pool caused by mistake in defines under which the debug field was initialized 2014-01-19 19:45:50 +00:00
Arvid Norberg 4e6b1cfbfb update copyright 2013-12-25 17:07:16 +00:00
Arvid Norberg 5ae074994d revert a bad optimization from peer_connection's invariant check 2013-10-20 07:10:09 +00:00
Arvid Norberg 416d064489 optimize some invariant checks and make test_utp shorted, to complete much faster 2013-10-20 06:03:23 +00:00
Arvid Norberg 8fe1dc5754 fix valgrind build 2013-10-16 16:55:09 +00:00
Arvid Norberg 49502ed824 more valgrind instrumentation 2013-10-16 08:29:12 +00:00
Arvid Norberg 7adbeae273 some piece picker asserts and cleanup 2013-10-06 17:00:07 +00:00
Arvid Norberg 8e4f567ae4 fix valgrind build 2013-10-03 08:24:57 +00:00
Arvid Norberg 676c2c5649 fix valgrind build 2013-10-03 06:47:28 +00:00
Arvid Norberg 64b563fd06 attempt to trigger valgrind errors earlier 2013-10-02 21:51:30 +00:00
Arvid Norberg f1f89123e8 don't count pad-files as partial download pieces in the piece picker. prioritize which immutable dht items to keep also based on distance from our ID. remove some todo comments that probably should not be done 2013-09-14 10:08:31 +00:00
Arvid Norberg 1afc0c6740 a bunch of fixes to make test_web_seeds a lot faster, and fail slightly fewer tests 2013-08-19 03:54:45 +00:00
Arvid Norberg a0caa0f4b2 disable invariant_check functions when invariant checks are disabled 2013-02-25 04:13:46 +00:00
Arvid Norberg 5cf8aa57f4 anonymous mode should default to false. minor fixes 2013-02-19 08:14:16 +00:00
Arvid Norberg 07f9133ba9 merged piece picker fix from RC_0_16 2013-01-30 06:20:37 +00:00
Arvid Norberg e45124fc22 back-port heavy weight refcount invariant checking from libtorrent_aio (disabled by default). and also backport piece-picker refcounting bug fix 2013-01-06 04:02:29 +00:00
Arvid Norberg 16630f94d1 merged fixes from RC_0_16 2012-10-21 20:24:14 +00:00
Arvid Norberg bff648a89e update copyright dates and add tool to do so 2012-10-02 03:16:33 +00:00
Arvid Norberg 671206838a fixed compiler warning 2012-06-25 15:34:56 +00:00
Arvid Norberg cc7ff1606c add unit test for seed optimization in piece picker and make it reliable in the presence of dont-have messages 2012-05-14 04:48:23 +00:00
Arvid Norberg 86b4c78871 fix unsigned comparison warnings 2012-05-03 01:51:56 +00:00
Arvid Norberg a699ab3768 fix release asserts issue 2012-04-20 17:03:00 +00:00
Arvid Norberg de07505464 more asserts in piece_picker to validate peer pointers 2012-04-12 17:10:22 +00:00
Arvid Norberg 48b85ba586 added more asserts in an attempt to track down invalid policy peer pointers in the piece picker. also fixed a web seed related crash when geoip support is enabled 2012-04-12 05:00:20 +00:00
Arvid Norberg 8135a6e3a2 fix piece_picker::max_pieces. it's still restricted by piece_block 2012-04-04 04:23:28 +00:00
Arvid Norberg 46683f59f8 fix division by zero 2012-04-02 05:30:15 +00:00