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