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 |
Arvid Norberg
|
6fc580e0cb
|
support torrents with more than 262000 pieces
|
2012-04-01 19:14:30 +00:00 |
Arvid Norberg
|
57e7f14024
|
fixed rare piece picker bug
|
2011-11-07 04:31:48 +00:00 |
Arvid Norberg
|
daedc43d3c
|
fix release build
|
2011-11-02 05:28:25 +00:00 |
Arvid Norberg
|
36c9c663d3
|
fixed missing includes
|
2011-11-02 04:50:04 +00:00 |
Arvid Norberg
|
3c602e8fe8
|
remove redundant include
|
2011-11-01 05:41:10 +00:00 |
Arvid Norberg
|
293e41afff
|
msvc build fix
|
2011-08-16 09:22:41 +00:00 |
Arvid Norberg
|
1c5399b736
|
piece picker optimization
|
2011-08-16 06:30:53 +00:00 |
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 |
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 |