Arvid Norberg
|
72d015c86a
|
extend piece_picker unit test
|
2015-02-12 03:16:53 +00:00 |
Arvid Norberg
|
2d4949cfed
|
test coverage script
|
2015-02-10 06:02:51 +00:00 |
Arvid Norberg
|
7395a91bf4
|
clean up piece picker interface to make piece_pos private again
|
2015-02-08 22:15:59 +00:00 |
Arvid Norberg
|
84fe616ccb
|
extend piece picker unit test
|
2015-02-08 21:44:58 +00:00 |
Arvid Norberg
|
9fb98b1151
|
remove speed affinity feature in piece-picker and peers
|
2015-02-08 21:17:00 +00:00 |
Arvid Norberg
|
497f7a4a27
|
piece picker fix for random mode
|
2015-02-08 21:12:10 +00:00 |
Arvid Norberg
|
a8623a9b23
|
request partial pieces in rarest-first order
|
2015-02-08 18:01:29 +00:00 |
Arvid Norberg
|
512113510b
|
introduce another rule where we prioritize partial pieces in the piece picker to avoid having too many bytes outstanding in partial pieces (especially very large pieces)
|
2015-02-08 16:52:57 +00:00 |
Arvid Norberg
|
097d5b484d
|
improve piece picker support for reverse picking (used for snubbed peers) to not cause priority inversion for regular peers
|
2015-01-26 02:04:58 +00:00 |
Arvid Norberg
|
d41d59d780
|
improve prefer-contiguous-blocks in piece_picker, to actually pick a contiguous range
|
2015-01-20 03:46:40 +00:00 |
Arvid Norberg
|
d8d069675c
|
improve piece picker to better support torrents with very large pieces and web seeds
|
2015-01-20 02:34:55 +00:00 |
Arvid Norberg
|
e6eb920021
|
piece picker cleanup
|
2015-01-19 22:07:53 +00:00 |
Arvid Norberg
|
0f37e3403c
|
transition from intrusive_ptr to shared_ptr. don't export initialize_default_settings
|
2015-01-06 08:08:49 +00:00 |
Arvid Norberg
|
7351389ce8
|
land libtorrent_aio branch in trunk
|
2014-07-06 19:18:00 +00:00 |
Arvid Norberg
|
6043e14131
|
remove pch.hpp
|
2014-06-28 23:45:46 +00:00 |
Arvid Norberg
|
e225259481
|
fix some msvc warnings
|
2014-05-10 03:23:05 +00:00 |
Arvid Norberg
|
3192e59a1a
|
improve piece_deadline/streaming
|
2014-04-22 04:21:14 +00:00 |
Arvid Norberg
|
569ce0a965
|
honor pieces with priority 7 in sequential download mode
|
2014-04-03 02:03:14 +00:00 |
Arvid Norberg
|
369b1777d1
|
fix build
|
2014-03-17 03:41:35 +00:00 |
Arvid Norberg
|
a943fec777
|
update copyright
|
2014-02-23 19:12:25 +00:00 |
Arvid Norberg
|
1f5373599d
|
fix typo
|
2014-01-25 08:16:51 +00:00 |
Arvid Norberg
|
2ac9c30dc9
|
fix valgrind check
|
2014-01-25 01:53:33 +00:00 |
Arvid Norberg
|
99d9916c29
|
some more piece_picker asserts
|
2014-01-22 09:53:47 +00:00 |
Arvid Norberg
|
e0644ce8f5
|
invariant check macro fixes
|
2014-01-21 19:26:09 +00:00 |
Arvid Norberg
|
702b68ecc4
|
clean up assert related defines and debuf-only fields less error-prone. fix missing initialization in file_pool caused by mistake in defines under which the debug field was initialized
|
2014-01-19 19:45:50 +00:00 |
Arvid Norberg
|
4e6b1cfbfb
|
update copyright
|
2013-12-25 17:07:16 +00:00 |
Arvid Norberg
|
5ae074994d
|
revert a bad optimization from peer_connection's invariant check
|
2013-10-20 07:10:09 +00:00 |
Arvid Norberg
|
416d064489
|
optimize some invariant checks and make test_utp shorted, to complete much faster
|
2013-10-20 06:03:23 +00:00 |
Arvid Norberg
|
8fe1dc5754
|
fix valgrind build
|
2013-10-16 16:55:09 +00:00 |
Arvid Norberg
|
49502ed824
|
more valgrind instrumentation
|
2013-10-16 08:29:12 +00:00 |
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 |