Commit Graph

216 Commits

Author SHA1 Message Date
Arvid Norberg c695729bbe fixed bug when force-checking a torrent with partial pieces 2009-05-25 20:31:20 +00:00
Arvid Norberg 292c7f61a1 revert and do what the previous check-in was supposed to do 2009-05-22 03:36:05 +00:00
Arvid Norberg 065c33969a promoted an expensive invariant check to only be built with full invariant checks 2009-05-22 03:26:24 +00:00
Arvid Norberg 40c6db3c52 debug define fix in piece_picker 2009-04-04 21:50:36 +00:00
Arvid Norberg 31054ef069 first implementation of set_piece_deadline 2009-03-17 09:34:44 +00:00
Arvid Norberg 3cdf9c87a8 fixed build errors on Solaris 2009-01-27 08:24:48 +00:00
Arvid Norberg 3f94cc8857 made the sequential download mode slightly more sequential (by letting more categories of peers request early pieces). Disabled speed affinity and prefer_whole_pieces when in sequential download mode 2009-01-14 09:07:27 +00:00
Arvid Norberg 66ccc9d23f improved support for padding files by not counting them in total_wanted_done and total_wanted or progress 2009-01-14 07:41:25 +00:00
Arvid Norberg d07ccaf6b8 workaround for sparse files issue on Windows vista 2009-01-05 01:08:09 +00:00
Arvid Norberg 09b3a865ef fixed compiler flags in pkg-config file and made header files not depend on the NDEBUG define 2008-11-29 21:33:21 +00:00
Arvid Norberg d0fc5fee2b fixed assert in piece_picker 2008-10-18 22:29:56 +00:00
Arvid Norberg 032f6e4d55 removed expensive invariant check 2008-10-16 07:11:57 +00:00
Arvid Norberg 62e365225b made some moer invariant checks count as expensive 2008-10-10 07:08:46 +00:00
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