Commit Graph

198 Commits

Author SHA1 Message Date
Arvid Norberg 25ad24ec68 piece picker optimization. O(log n), lookup of downloading pieces instead of O(n) 2011-08-15 04:16:43 +00:00
Arvid Norberg 88441e4fdc another attempt at optimizing piece picker 2011-08-14 23:16:12 +00:00
Arvid Norberg e89eb6e606 attempt to optimize piece picker 2011-08-14 21:18:06 +00:00
Arvid Norberg 1d40d7aad9 fixing up some asserts and verbose logging 2011-08-13 18:46:52 +00:00
Arvid Norberg d47f8a11dc possible end-game fix 2011-06-23 17:17:51 +00:00
Arvid Norberg 7d5df3eaa9 remove invalid assert 2011-04-24 23:08:23 +00:00
Arvid Norberg e2d3e7c300 removed invalid assert 2011-04-16 19:25:39 +00:00
Arvid Norberg ab3b82b8ee replaced std::rand() with custom random generator 2011-02-26 07:55:51 +00:00
Arvid Norberg 141ada013f fixed a whole bunch of build warnings on gcc and msvc, along with some fixes discovered along the way 2011-02-21 05:24:41 +00:00
Arvid Norberg c4c1773ceb fixed some warnings 2011-02-15 10:05:25 +00:00
Arvid Norberg a42d42fd11 CPU optimization for end-game piece picker 2011-02-09 02:56:00 +00:00
Arvid Norberg 3d616f894e end-game mode optimizations 2011-02-06 23:40:21 +00:00
Arvid Norberg f11b1ce6a0 fixed failing invariant check in peer_connection's download queue 2010-10-03 22:06:53 +00:00
Arvid Norberg 29e45c8cbb promote some piece picker invariant checks to 'expensive' 2010-09-01 03:00:15 +00:00
Arvid Norberg 23ba8c8a72 fixed synchronization issue between download queue and piece picker 2010-05-13 06:29:33 +00:00
Arvid Norberg 1f44ec75a0 fixed bug in add_piece() that would trigger asserts 2010-05-01 17:47:28 +00:00
Arvid Norberg dce2edb6cc fixed vs 2010 build 2010-04-30 19:08:16 +00:00
Arvid Norberg eff49e42a7 added support for torrents with odd piece sizes 2010-02-23 16:26:24 +00:00
Arvid Norberg 210c663596 fixed error handling with torrents with invalid piece sizes 2010-02-22 01:51:25 +00:00
Arvid Norberg f31e670fc2 made end-game mode less aggressive 2010-02-18 17:26:21 +00:00
Arvid Norberg c9b594fde1 support sending suggest messages based on what's in the read cache. support 'explicit read cache' 2010-01-15 16:45:42 +00:00
Arvid Norberg 8a5b7d5d36 got rid of the last recursive mutexes. abstracted the threading primitives (and switched over to use asio's internal ones). 2009-10-20 02:49:56 +00:00
Arvid Norberg 72360c3c27 fixed download piece performance bug in piece picker 2009-09-08 02:38:53 +00:00
Arvid Norberg 1f5a722b01 improved sun studio support (it seems to lack a lot of stl) 2009-08-30 07:38:52 +00:00
Arvid Norberg ae3be201c4 reduced the number of floating point operations to better support systems with no FPU 2009-07-19 04:59:27 +00:00
Arvid Norberg 8454d51ba1 fixed rare piece picker bug 2009-06-28 00:32:14 +00:00
Arvid Norberg af25f26538 correction of previous 'assert fix' 2009-06-12 16:12:19 +00:00
Arvid Norberg cf8659a0af fixed typo 2009-06-12 06:28:18 +00:00
Arvid Norberg 7b6261a63a fixed piece picker assert (would change the peer_count for pieces we have, and assert on them) 2009-06-12 06:20:08 +00:00
Arvid Norberg 3e23029670 removed incorrect assert 2009-06-11 06:35:00 +00:00
Arvid Norberg f0134c1b11 improved disk error handling and expanded use of error_code in error reporting 2009-06-10 08:30:55 +00:00
Arvid Norberg bd33814376 improve disk error handling 2009-05-31 22:41:53 +00:00
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