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 |
Arvid Norberg
|
ceadb93097
|
added asserts to the piece picker
|
2007-03-28 23:23:07 +00:00 |
Arvid Norberg
|
bec03261f5
|
fixed piece picker and test
|
2007-03-27 08:53:48 +00:00 |
Arvid Norberg
|
b3c889f563
|
fixed typo in previous check in
|
2007-03-21 02:14:31 +00:00 |
Arvid Norberg
|
20e38bc42b
|
peer interest flag is now updated when priority is changed. fixes in piece_picker
|
2007-03-21 02:09:50 +00:00 |
Arvid Norberg
|
10da416c76
|
fix related to piece priorities
|
2007-03-20 19:50:15 +00:00 |
Arvid Norberg
|
00a7546f7e
|
fix related to piece priorities
|
2007-03-20 19:34:10 +00:00 |
Arvid Norberg
|
776b399a97
|
added api for piece priorities
|
2007-03-20 01:59:00 +00:00 |
Arvid Norberg
|
7ff5893431
|
reverted bad check-in where files_checked was removed from piece_picker
|
2007-03-17 17:28:59 +00:00 |
Arvid Norberg
|
8957b64c04
|
prepared for precompiled headers support. fixed issue where storage didn't lock the session properly. fixed typo in natpmp.cpp
|
2007-03-17 17:15:16 +00:00 |
Arvid Norberg
|
4ac08f393a
|
simplified the piece picker by initializing it properly in its constructor. Removed natpmp reporting port map success when removing mappings. fix where incoming connections before the files were completely checked would cause an assert.
|
2007-03-16 23:28:26 +00:00 |
Arvid Norberg
|
ecaa3068d5
|
added natpmp support. bumped version number to 0.13. added piece priority support to the piece picker. optmized and simplified the piece picker in the process.
|
2007-03-15 22:03:56 +00:00 |
Arvid Norberg
|
87f7b186b0
|
replaced the bandwidth throttling code with a leaky bucket for better accuracy
|
2007-01-10 15:02:25 +00:00 |
Arvid Norberg
|
45864b15ec
|
fixed incorrect assert in bytes_done()
|
2006-12-31 14:48:18 +00:00 |
Arvid Norberg
|
c69479a166
|
fixed the cause of an inconsistency in the piece picker and the torrent
|
2006-12-22 00:45:43 +00:00 |
Arvid Norberg
|
f83db0a423
|
consistency fixes related to shutting down
|
2006-12-21 22:20:28 +00:00 |
Arvid Norberg
|
79ebcf5dd8
|
modified the hueristic for taking over blocks slightly, added logging
|
2006-12-15 10:42:56 +00:00 |
Arvid Norberg
|
16b7898de9
|
added some asserts
|
2006-12-15 02:26:11 +00:00 |
Arvid Norberg
|
f0519e86e8
|
separated session from session_impl and made a real pimpl-class of it. Introduced the possibility to destruct the sessions async.
|
2006-10-11 14:02:21 +00:00 |
Arvid Norberg
|
f029f5d6b2
|
fixed sequenced download bug
|
2006-10-02 08:58:28 +00:00 |
Arvid Norberg
|
191fd76b42
|
made sequenced_download_threshold a per torrent setting. Updated the project page layout. Removed incorrect invariant checks in piece picker.
|
2006-09-04 17:17:45 +00:00 |
Arvid Norberg
|
7bc1214749
|
fixed strange User-Agent encoding in HTTP requests. Fixed bug in sequenced_download_threshold code
|
2006-09-03 22:59:54 +00:00 |
Arvid Norberg
|
5ae55c5738
|
fixed bug appearing when changing the sequenced download threshold on a torrent which already had some pieced downloaded.
|
2006-09-01 09:36:43 +00:00 |
Arvid Norberg
|
8d31bf442a
|
fixed incorrect sorting of pieces in piece_picker
|
2006-07-16 00:08:50 +00:00 |
Arvid Norberg
|
c3eaa26645
|
fixed bug spotted by Tianhao Qiu
|
2006-06-12 21:20:32 +00:00 |
Arvid Norberg
|
d1c33c0d2b
|
windows fixes
|
2006-04-27 00:39:21 +00:00 |
Arvid Norberg
|
41810b1166
|
merged back the asio development branch
|
2006-04-25 21:04:48 +00:00 |
Arvid Norberg
|
7eb9812cfa
|
changed include order of boost headers to workaround namespace bug on msvc 7
|
2006-01-11 01:32:26 +00:00 |
Arvid Norberg
|
f63702c964
|
optimized session::add_torrent() by putting more info in torrent_info, to make it possible to reproduce the exact info section from an torrent_info object. The result is that the .torrent file is only parsed once.
|
2005-10-16 16:58:41 +00:00 |
Arvid Norberg
|
8ef7f58d16
|
fixed bug where some blocks weren't restored in the piece picker when the peer they were requested from disconnected. made the invariant check on policy work
|
2005-09-28 23:58:55 +00:00 |