Commit Graph

54 Commits

Author SHA1 Message Date
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
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
252e08a889 merged fixes from RC_1_0 2014-09-04 08:55:24 +00:00
Arvid Norberg
524384045c transition to use boost.random instead of rand() and custom pseudo random generator 2014-08-16 20:26:00 +00:00
Arvid Norberg
30d561d0c5 merged random_seed assert into trunk 2014-07-19 02:17:19 +00:00
Arvid Norberg
7351389ce8 land libtorrent_aio branch in trunk 2014-07-06 19:18:00 +00:00
Arvid Norberg
569ce0a965 honor pieces with priority 7 in sequential download mode 2014-04-03 02:03:14 +00:00
Arvid Norberg
8ab1d8b686 more build fixes and cleaning up 2014-01-19 20:19:15 +00:00
Arvid Norberg
a0caa0f4b2 disable invariant_check functions when invariant checks are disabled 2013-02-25 04:13:46 +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
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
de07505464 more asserts in piece_picker to validate peer pointers 2012-04-12 17:10:22 +00:00
Arvid Norberg
548bace889 merged changes from RC_0_16 2012-04-08 16:03:39 +00:00
Arvid Norberg
1c5399b736 piece picker optimization 2011-08-16 06:30:53 +00:00
Arvid Norberg
88441e4fdc another attempt at optimizing piece picker 2011-08-14 23:16:12 +00:00
Arvid Norberg
a42d42fd11 CPU optimization for end-game piece picker 2011-02-09 02:56:00 +00:00
Arvid Norberg
45f535e80c fixed build (with fresh boost) 2010-10-09 02:58:56 +00:00
Arvid Norberg
7b480efe68 fix piece picker test 2010-02-25 19:56:30 +00:00
Arvid Norberg
96cedc9b5f more beos fixes 2009-12-15 13:11:07 +00:00
Arvid Norberg
7445874028 fixed piece_picker test 2009-07-23 04:37:51 +00:00
Arvid Norberg
79158abaca fix piece_picker test 2009-05-25 04:38:31 +00:00
Arvid Norberg
3cf34e3a91 greatly optimised memory usage for peer list 2009-04-30 05:49:46 +00:00
Arvid Norberg
0703054079 fix test_piece_picker to work with recently added speed_affinity flag 2009-01-19 09:47:18 +00:00
Arvid Norberg
07a399d60d test_piece_picker define fix 2008-12-28 20:09:16 +00:00
Arvid Norberg
41808f8742 big change to improve piece picker. Better end-game mode. More options on which pieces to pick. 2008-09-06 21:04:57 +00:00
Arvid Norberg
e9045cc1df fixes bug where priorities where lost when force-rechecking. 2008-08-25 22:32:50 +00:00
Arvid Norberg
af0ebb519c added copyright notices in files missing them 2008-07-01 18:59:13 +00:00
Arvid Norberg
a4dfd63ca3 fixed piece picker bug related to sequential download, added unit test to expose it 2008-06-11 08:30:06 +00:00
Arvid Norberg
9d1e77dc88 optimized away torrent::m_have_pieces (#62) and added some documentation on bitfield. The piece picker is now constructed with the torrent, but still freed when turned into a seed 2008-06-07 02:58:28 +00:00
Arvid Norberg
68c31e48dc replaced vector<bool> with a custom bitfield type 2008-05-28 02:35:02 +00:00
Arvid Norberg
2cfbfd203f made tests build and pass in trunk. fixed issues in trunk revealed by the tests. fixed failing torrent invariant check in trunk and rc0.13 2008-03-14 10:17:27 +00:00
Arvid Norberg
c798ab30e1 rewrote the piece picker to be more cpu and memory efficient. replaces the concept of sequential-download-threshold with just a sequential download settings 2008-01-31 17:52:29 +00:00
Arvid Norberg
68a388da19 piece picker fix (#228) 2007-12-16 01:35:42 +00:00
Arvid Norberg
7cd29ca371 piece picker updates and more tests 2007-09-05 23:32:05 +00:00
Arvid Norberg
24b57d62c8 piece picker fixes and optimizations (requires more tests in unit tests) 2007-09-05 21:21:11 +00:00
Arvid Norberg
6d40519e66 added support for piece picker to pick multiple pieces (previously it could only pick one piece tops). Made the web_peer_connection always try to make 1 MB requests at a time. added tests to the piece_picker unit test 2007-09-03 21:16:24 +00:00
Arvid Norberg
8fce18ba8b piece picker improvements and additions to unit test 2007-09-03 07:10:09 +00:00
Arvid Norberg
f2c99f4160 fixed piece_picker test 2007-08-28 03:22:15 +00:00
Arvid Norberg
890bd646d3 added more piece_picker tests 2007-08-27 10:12:09 +00:00
Arvid Norberg
b6ec8f64cd greatly improved piece picker unit test 2007-08-27 05:13:46 +00:00
Arvid Norberg
82e1160214 introduced a non-rarest-first option to the piece picker that is used to pick the very first pieces in a torrent 2007-07-07 01:26:30 +00:00
Arvid Norberg
f90a80ab05 made piece picker less anal about speed categories, to improve performance 2007-07-05 22:49:28 +00:00
Arvid Norberg
0e1e1484ee made test_piece_picker build on gcc 3.3 2007-07-04 18:05:29 +00:00
Arvid Norberg
3bdf01778a chamged peer representation from tcp::endpoint to policy::peer pointer in piece_picker's downloading piece. Saves memory, removes the need for lookup and improves the hash check fail/pass handling for closed connections 2007-07-04 02:16:49 +00:00
Arvid Norberg
3b8670626a merged back async_io branch into trunk 2007-06-10 20:46:09 +00:00
Arvid Norberg
6e7c0ebfc9 made test_piece_picker work with recent piece picker optimization 2007-05-09 22:37:47 +00:00
Arvid Norberg
ee1681e2cb added peer/piece categories to the piece picker. fixes #18 2007-04-27 00:27:37 +00:00
Arvid Norberg
bec03261f5 fixed piece picker and test 2007-03-27 08:53:48 +00:00
Arvid Norberg
f92b6cd90c fixed test_ip_filter and test_piece_picker to reflect recent api changes. Fixed an Obj.C naming issue. Removed files from include/Makefile.am that was removed from asio. 2006-09-11 23:34:07 +00:00
Arvid Norberg
58698d6aea fixed the tests to build with the latest version of asio. added a missing include to identify_client.hpp 2006-05-21 15:35:11 +00:00