Commit Graph

203 Commits

Author SHA1 Message Date
Arvid Norberg 8499fd2fe2 moved some invariant checks into 'full-invariant-checks' builds 2008-10-10 05:25:55 +00:00
Arvid Norberg f6a1e467a8 marked expensive invariant check to only be included in full checks in piece-picker 2008-10-05 23:28:57 +00:00
Arvid Norberg ca4ab436d0 prioritize partials once they reach a certain threshold, to keep them from growing 2008-09-22 00:41:36 +00:00
Arvid Norberg 656ff6d5f2 fixed piece_picker to not pick blocks from a piece with priority 0 when there already are requests to the piece 2008-09-19 17:07:19 +00:00
Arvid Norberg fbec4261cd fixed assert in piece_picker 2008-09-19 06:46:58 +00:00
Arvid Norberg 53c408212d nicer fix for debug iterators 2008-09-15 16:21:03 +00:00
Arvid Norberg 88a7e445ad fixed decrement of start-of-sequence iterator in invariant_check code. Fixes debug-iterator assert 2008-09-15 15:07:46 +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 893e9f2af6 fix bug in piece picker where set_piece_priority would return false even though the piece filter changed and updated test_transfer to catch it 2008-08-19 07:11:17 +00:00
Arvid Norberg 6b2338c5dd fix piece_picker piece-shuffle bug 2008-07-31 09:19:52 +00:00
Arvid Norberg eccba2072c exclude print_pieces() from build unless PICKER_LOG is enabled 2008-07-30 06:39:37 +00:00
cg25 ff3e80c42f Removed svn:executable property from {c,h}pp files in branches/RC_0_13 and
trunk.
2008-06-25 14:15:21 +00:00
Arvid Norberg a38d97583e removed old comment 2008-06-23 18:56:02 +00:00
Arvid Norberg c210b11b80 better fix for failing pieces 2008-06-23 14:45:01 +00:00
Arvid Norberg 665d508bc3 piece picker fix 2008-06-23 13:02:41 +00:00
cg25 aeb2dd8c71 Fix mistypo in src/piece_picker.cpp from previous commit. 2008-06-22 23:13:27 +00:00
Arvid Norberg f7e1d1c1fd piece picker fix 2008-06-22 22:00:44 +00:00
Arvid Norberg 295e2a548b piece picker fix of recent change. 2008-06-12 15:40:50 +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 a01c412f9e piece picker fixes (introduced when rewriting the piece checking) 2008-05-12 06:20:54 +00:00
Arvid Norberg f53cfa7eeb removed checker thread 2008-03-08 06:06:31 +00:00
Arvid Norberg 01c6300d51 another piece picker fix (fixes some logic mistakes from last piece picker update) 2008-02-18 20:55:03 +00:00
Arvid Norberg 333839c9b4 piece picker update 2008-02-18 03:07:14 +00:00
Arvid Norberg 601b7571f5 added asserts to piece picker around num_peers() 2008-02-11 06:52:40 +00:00
Arvid Norberg 8cf0510144 added disk cache for write operations 2008-02-08 10:22:05 +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 b3c40ea7e8 piece picker assert fix 2007-11-04 19:10:58 +00:00
Arvid Norberg ddc9511bbb removed useless asserts that triggered warnings on intel 2007-10-09 02:34:05 +00:00
Arvid Norberg 966800cd5b replaced the assert macro to TORRENT_ASSERT instead of hi-jacking assert. 2007-10-05 00:30:00 +00:00
Arvid Norberg 902a94d6fd fixed typo 2007-09-17 06:35:23 +00:00
Arvid Norberg 1502080542 piece picker fix and extra asserts and diagostics output (in case of errors) 2007-09-17 00:37:45 +00:00
Arvid Norberg 3a11c3bfad broadcast socket and piece_picker fix 2007-09-15 20:20:07 +00:00
Arvid Norberg 73bb0c05ad added 'incoming' peer source 2007-09-15 20:17:23 +00:00
Arvid Norberg 80aee32972 fixed piece picker problem when a downloading piece could not be picked with the right speed category 2007-09-10 08:07:18 +00:00
Arvid Norberg 4fcdea4172 piece picker fix 2007-09-09 23:46:28 +00:00
Arvid Norberg 0d6970168d piece picker updates 2007-09-06 18:30:46 +00:00
Arvid Norberg fb401d2499 added asserts to piece_picker 2007-09-06 08:20:11 +00:00
Arvid Norberg e76de2edbc fixed typo 2007-09-06 01:32:29 +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 86442482d9 piece picker bug fixes 2007-08-27 05:13:09 +00:00
Arvid Norberg c0ffdc51c7 piece picker fix and bandwidth_limiter typo fix 2007-08-25 05:09:25 +00:00
Arvid Norberg f7737cae32 reverted [1488] 2007-08-22 18:40:31 +00:00
Arvid Norberg e009834a18 fixed piece_picker bug 2007-08-22 18:38:48 +00:00
Arvid Norberg 7466638231 attempt to fix piece_picker assert 2007-08-22 17:39:57 +00:00
Arvid Norberg b121386492 piece picker fix 2007-08-21 18:39:44 +00:00
Arvid Norberg 8ce61ab04a added asserts to piece_picker 2007-08-21 18:17:31 +00:00
Arvid Norberg da525292fe some more asserts 2007-08-19 08:23:44 +00:00
Arvid Norberg b62bb7944f merged fast-extension => trunk. the fast extension branch is now closed 2007-08-14 17:47:48 +00:00
Arvid Norberg 6e78b6b824 optimization to only update peer interests in case a piece was filtered/unfiltered during a priority call 2007-08-10 21:13:35 +00:00
Arvid Norberg 8387240b31 more asserts, piece_picker fixes, debug-iterator fixes 2007-08-03 06:13:26 +00:00
Arvid Norberg a630756fae more _SECURE_SCL related fixes 2007-07-24 15:48:06 +00:00
Arvid Norberg 1acedb39dc prioritize more complete partial pieces over less complete ones 2007-07-15 15:41:55 +00:00
Arvid Norberg 329f73276f fixed #82 2007-07-15 05:32:56 +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 a3e66a3efe made the piece picker handle multi-request blocks better. fixes problem that might occur at the end of a torrent where the piece picker could take over blocks back and forth 2007-07-06 17:15:35 +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 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 14a15831ef exposed piece availability vector 2007-05-30 06:52:59 +00:00
Arvid Norberg 8392276975 speed categories are now disabled before 1% of the pieces have been downloaded 2007-05-14 10:54:18 +00:00
Arvid Norberg 6dcca9250b optimized heap allocations in piece_picker. #42 2007-05-09 00:49:13 +00:00
Arvid Norberg 4956639171 piece picker optimization 2007-05-08 11:13:13 +00:00
Arvid Norberg f942308ccb added extra assert to piece picker 2007-05-03 21:28:31 +00:00
Arvid Norberg b9cdfc2771 fixed bug in piece_picker 2007-05-03 19:25:18 +00:00
Arvid Norberg 577bda5266 removed old code from piece picker and fixed set_priority to not tamper with the download queue 2007-05-03 18:38:57 +00:00
Arvid Norberg 9f1a11aa50 regenerated documentation. fixed a few warnings. fixed a bug in recent check in in piece picker 2007-04-27 16:26:30 +00:00
Arvid Norberg 4afe9712e0 improvements to the piece picker with regard to recently introduced categories 2007-04-27 02:33:59 +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 094dc1065c some boost 1.34 preprocessor conditions and fixed assert in piece_picker 2007-04-23 17:14:40 +00:00
Arvid Norberg a35c1ef1a5 piece picker fix 2007-04-19 02:54:46 +00:00
Arvid Norberg 60ddb5c64a piece_picker fix 2007-04-18 20:40:41 +00:00
Arvid Norberg 16e17f066c first stab at sparse files support 2007-04-17 21:54:40 +00:00
Arvid Norberg 067219d14a made downloading pieces higher priority. fix in piece picker when blocks in prio 0 pieces were marked as finished 2007-04-17 09:21:53 +00:00
Arvid Norberg 34473aad1b fixed bug in recent piece picker optimization when used in combination with sequenced download threshold 2007-04-17 00:20:39 +00:00
Arvid Norberg 40804a829b failcount is reset on a peer that successfully connects. documented max_failcount and min_reconnect_time. implemented seed optimization for piece_picker (inc_refcount_all and dec_refcount_all), ticket #17 2007-04-15 02:14:02 +00:00
Arvid Norberg 3bc8d093c2 fixed the distributed copy function in the piece picker 2007-04-11 20:33:28 +00:00
Arvid Norberg 5c90b99316 piece picker fix 2007-03-30 20:21:29 +00:00
Arvid Norberg e6a4733392 fixed one incorrect assert 2007-03-30 19:18:03 +00:00
Arvid Norberg a9d18439e9 piece picker fix 2007-03-30 03:09:28 +00:00
Arvid Norberg fc46a731eb modified and enabled invariant checking for piece_picker 2007-03-29 00:52:16 +00:00
Arvid Norberg ceadb93097 added asserts to the piece picker 2007-03-28 23:23:07 +00:00
Arvid Norberg bec03261f5 fixed piece picker and test 2007-03-27 08:53:48 +00:00
Arvid Norberg b3c889f563 fixed typo in previous check in 2007-03-21 02:14:31 +00:00
Arvid Norberg 20e38bc42b peer interest flag is now updated when priority is changed. fixes in piece_picker 2007-03-21 02:09:50 +00:00
Arvid Norberg 10da416c76 fix related to piece priorities 2007-03-20 19:50:15 +00:00
Arvid Norberg 00a7546f7e fix related to piece priorities 2007-03-20 19:34:10 +00:00
Arvid Norberg 776b399a97 added api for piece priorities 2007-03-20 01:59:00 +00:00
Arvid Norberg 7ff5893431 reverted bad check-in where files_checked was removed from piece_picker 2007-03-17 17:28:59 +00:00
Arvid Norberg 8957b64c04 prepared for precompiled headers support. fixed issue where storage didn't lock the session properly. fixed typo in natpmp.cpp 2007-03-17 17:15:16 +00:00
Arvid Norberg 4ac08f393a simplified the piece picker by initializing it properly in its constructor. Removed natpmp reporting port map success when removing mappings. fix where incoming connections before the files were completely checked would cause an assert. 2007-03-16 23:28:26 +00:00
Arvid Norberg ecaa3068d5 added natpmp support. bumped version number to 0.13. added piece priority support to the piece picker. optmized and simplified the piece picker in the process. 2007-03-15 22:03:56 +00:00
Arvid Norberg 87f7b186b0 replaced the bandwidth throttling code with a leaky bucket for better accuracy 2007-01-10 15:02:25 +00:00
Arvid Norberg 45864b15ec fixed incorrect assert in bytes_done() 2006-12-31 14:48:18 +00:00