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 |
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 |