Arvid Norberg
|
2cfbfd203f
|
made tests build and pass in trunk. fixed issues in trunk revealed by the tests. fixed failing torrent invariant check in trunk and rc0.13
|
2008-03-14 10:17:27 +00:00 |
Arvid Norberg
|
f53cfa7eeb
|
removed checker thread
|
2008-03-08 06:06:31 +00:00 |
Arvid Norberg
|
9d3b60edb7
|
added support to bind outgoing connections to specific ports (might be useful to do traffic shaping)
|
2008-02-28 07:34:07 +00:00 |
Arvid Norberg
|
a25c25b02a
|
fixed windows build and removed msvc warnings
|
2008-02-25 10:28:53 +00:00 |
Arvid Norberg
|
333839c9b4
|
piece picker update
|
2008-02-18 03:07:14 +00:00 |
Arvid Norberg
|
b6493bb4ef
|
fixed typo
|
2008-02-17 20:57:16 +00:00 |
Arvid Norberg
|
ea1ce8172f
|
Fixed preprocessor directive error. Fixes #273
|
2008-02-17 20:42:56 +00:00 |
Arvid Norberg
|
7e83c3fc51
|
changed storage interface to not require exceptions
|
2008-02-14 03:48:20 +00:00 |
Arvid Norberg
|
8cf0510144
|
added disk cache for write operations
|
2008-02-08 10:22:05 +00:00 |
Arvid Norberg
|
a53473a65d
|
added new logging mode to log peer errors
|
2008-02-07 07:09:52 +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
|
61bbc6e58f
|
initial https support for trackers and http_connection. Added support for proxies to http_connection
|
2008-01-27 22:39:50 +00:00 |
Arvid Norberg
|
5527a8e9b1
|
fixed build issue on msvc
|
2008-01-27 21:03:33 +00:00 |
Arvid Norberg
|
8b455be1d9
|
better exception handling and more invariant checks
|
2008-01-19 19:00:54 +00:00 |
Arvid Norberg
|
365b8c07c6
|
iterator fixes (to avoid triggering safe iterator asserts)
|
2008-01-19 18:12:02 +00:00 |
Arvid Norberg
|
4a92dae541
|
fixed typo
|
2008-01-17 21:25:19 +00:00 |
Arvid Norberg
|
4b3ba58ad2
|
disconnect all fix
|
2008-01-17 20:03:59 +00:00 |
Arvid Norberg
|
127d3e6ad5
|
bandwidth limiter fixes. proper priority that cannot starve connections
|
2008-01-17 17:40:46 +00:00 |
Arvid Norberg
|
832c0c8b63
|
improved auto-unchoke mechanism
|
2008-01-15 08:37:48 +00:00 |
Arvid Norberg
|
b19bf337bf
|
generalized peer read/write state
|
2008-01-13 23:46:43 +00:00 |
Arvid Norberg
|
3f4474caba
|
per torrent bandwidth limiter fix
|
2008-01-13 22:27:33 +00:00 |
Arvid Norberg
|
3a727e99ff
|
expose more info through peer_info
|
2008-01-10 22:13:23 +00:00 |
Arvid Norberg
|
695cd6407b
|
remove use of strand
|
2008-01-08 05:47:43 +00:00 |
Arvid Norberg
|
1d6e0f5bf6
|
bandwidth request block size optimization
|
2008-01-07 04:47:20 +00:00 |
Arvid Norberg
|
cf4036310b
|
changed the way connections are disconnected. improved logging. Does not depend on exceptions anymore
|
2008-01-07 01:10:46 +00:00 |
Arvid Norberg
|
1c816fa608
|
removes peers from bandwidth request queue when disconnecting
|
2008-01-06 00:58:51 +00:00 |
Arvid Norberg
|
fcd2408f11
|
fast extension fix, added some logging for fast extension messages, improved test to catch the problem
|
2008-01-02 03:18:29 +00:00 |
Arvid Norberg
|
ddf16fb3bb
|
separated bandwidth_manager into bandwidht_limit and bandwidth_queue_entry and fixed problems related to #225
|
2007-12-31 09:41:50 +00:00 |
Arvid Norberg
|
ae0e53820b
|
added missing return statement
|
2007-12-29 07:16:36 +00:00 |
Arvid Norberg
|
eb8ea0f461
|
made torrent_info not rely on exception support
|
2007-12-28 20:11:10 +00:00 |
Arvid Norberg
|
bc656acebb
|
fix limiting incoming connections to torrent limit
|
2007-12-27 10:19:36 +00:00 |
Arvid Norberg
|
d1311e2bb8
|
improved session logging
|
2007-12-19 21:36:54 +00:00 |
Arvid Norberg
|
9aa2ddec80
|
added a plugin 'smart_ban' that can ban peers sending bad data with higher accuracy
|
2007-12-18 06:04:54 +00:00 |
Arvid Norberg
|
0943c0d299
|
added more asserts to make sure m_num_pieces is >= the number of pieces the piece picker thinks we have
|
2007-12-15 22:51:03 +00:00 |
Arvid Norberg
|
948f53a8af
|
assert fix
|
2007-12-14 06:09:44 +00:00 |
Arvid Norberg
|
db082dd5d2
|
added asserts for total_wanted_done
|
2007-12-09 19:38:17 +00:00 |
Arvid Norberg
|
d695a44360
|
fixed bug where tracker wouldn't be announced when deleting files
|
2007-12-07 03:09:21 +00:00 |
Arvid Norberg
|
b817412b90
|
fixed overflow bug in total_done() (as reported by MassaRoddel)
|
2007-11-30 06:14:45 +00:00 |
Arvid Norberg
|
bfc4be1ca5
|
fixed #27
|
2007-11-28 02:54:46 +00:00 |
Arvid Norberg
|
1cc0118c9c
|
supports retry for web seeds that respond with 503
|
2007-11-27 03:37:47 +00:00 |
Arvid Norberg
|
254e4ffce4
|
added extra asserts in torrent
|
2007-11-26 23:08:59 +00:00 |
Arvid Norberg
|
c92fef5b69
|
simplified torrent_handle by using a macro and moving the big chunks of code into torrent (get_download_queue() and get_peer_info())
|
2007-11-25 18:48:43 +00:00 |
Arvid Norberg
|
b00096ad33
|
lsd and dht usage improvements
|
2007-11-25 09:33:26 +00:00 |
Arvid Norberg
|
41ffc87d98
|
fixed typo
|
2007-11-20 23:19:30 +00:00 |
Arvid Norberg
|
fabfe6cd50
|
added scrape support
|
2007-11-20 22:46:27 +00:00 |
Arvid Norberg
|
fd11e07a55
|
memory optimization to free piece hashes is now optional
|
2007-11-19 04:58:52 +00:00 |
Arvid Norberg
|
3c8587f919
|
fixed bug where removing all trackers would crash libtorrent. Fixes #205
|
2007-11-16 19:35:09 +00:00 |
Arvid Norberg
|
2ea9fb2851
|
improved error handling when deleting files
|
2007-11-16 19:04:43 +00:00 |
Arvid Norberg
|
bab4695028
|
added test for replace_trackers and removed incorrect assert
|
2007-11-15 10:11:39 +00:00 |
Arvid Norberg
|
95d09070fb
|
cancels more async operations on shutdown
|
2007-11-11 19:09:29 +00:00 |
Arvid Norberg
|
80e8aa0a18
|
add_extension on torrent_handle, to add an extension on an already running torrent
|
2007-11-08 01:45:35 +00:00 |
Arvid Norberg
|
1a280e31fa
|
cleanup. changed the connection map into a set of peer_connections. moved the policy object into the torrent (as opposed to being a pointer). Fixes issues with multiple peers on the same IP. Reduces some lookups.
|
2007-10-31 09:48:20 +00:00 |
Arvid Norberg
|
8f07edbed2
|
asio handlers are now properly cancelled when destructing the session object, race conditions are avoided by waiting for the io service to complete all tasks
|
2007-10-26 07:14:19 +00:00 |
Arvid Norberg
|
49e71de64a
|
improved web seed logging
|
2007-10-23 22:11:02 +00:00 |
Arvid Norberg
|
fcc238e801
|
lowered piece timeout and sends cancels for pieces when a time out occurs
|
2007-10-22 20:58:42 +00:00 |
Arvid Norberg
|
92d29334fa
|
cleanup. doesn't allocate sockets on the heap for no reason anymore
|
2007-10-22 04:17:26 +00:00 |
Arvid Norberg
|
a00f27b7ec
|
some extra peer logging + fix for previous invariant check
|
2007-10-18 04:18:09 +00:00 |
Arvid Norberg
|
b032c26bf0
|
adds invariant check to make sure pieces that are complete are also checked. adds a debug function in the disk_io_thread. Fixes a problem with a failing disk write that would not clear the block for re-download. Adds some extra session logging
|
2007-10-18 00:32:16 +00:00 |
Arvid Norberg
|
1699fa4652
|
fast reconnect fixes
|
2007-10-15 05:03:29 +00:00 |
Arvid Norberg
|
59c7f5bfbb
|
added option to delete files from disk as a torrent is removed
|
2007-10-13 03:33:33 +00:00 |
Arvid Norberg
|
ffe2e75882
|
added another alert to cover all cases where the torrent has to be checked at start, and tell the user why. Fixed a problem with the resume data generation introduced in last storage check-in
|
2007-10-09 00:25:01 +00:00 |
Arvid Norberg
|
4d19f7ff0f
|
storage optimization. introduced a nother allocation mode: sparse. Now there is allocate, compact and sparse. Unless compact is used, the memory structures used to keep track of pieces are no longer allocated. sparse storage mode is now the default
|
2007-10-08 20:01:36 +00:00 |
Arvid Norberg
|
28274bf1bd
|
improved shutdown behavior. decreased tracker timeouts to 5 seconds. added more logging
|
2007-10-07 18:06:56 +00:00 |
Arvid Norberg
|
64057e3fb0
|
torrent fix
|
2007-10-05 17:31:02 +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
|
c4c8d0f533
|
moved piece_finished_alert to debug level
|
2007-10-03 23:15:13 +00:00 |
Arvid Norberg
|
f85873263b
|
fixed possible race condition in debug mode
|
2007-10-03 17:40:18 +00:00 |
Arvid Norberg
|
16886741d0
|
release_files now keeps the torrent object alive
|
2007-10-02 18:34:34 +00:00 |
Arvid Norberg
|
0b1a542aa9
|
added test for local service discovery
|
2007-10-01 02:09:12 +00:00 |
Arvid Norberg
|
b48948e231
|
changed the double send buffers to a chained buffer using iovec send operations. buffers are recycled (saves memory and cpu) and memory copies are avoided (saves cpu). More statistics is added to track buffer usage
|
2007-09-29 16:14:03 +00:00 |
Arvid Norberg
|
c0195ae221
|
fix for last optimization
|
2007-09-26 15:32:49 +00:00 |
Arvid Norberg
|
d97f4cd835
|
optimization of static country table
|
2007-09-26 00:03:22 +00:00 |
Arvid Norberg
|
2e93b92cb4
|
more IPv6 fixes. support for multihomed machines by listening on multiple interfaces. added listen_succeeded_alert to advertize which interfaces are being listened on
|
2007-09-22 16:27:29 +00:00 |
Arvid Norberg
|
abbe3c774f
|
fixed problem with clashing connections when allowing multiple peers from the same IP
|
2007-09-19 06:05:14 +00:00 |
Arvid Norberg
|
57a76f9db6
|
fixed debug assert on linux
|
2007-09-10 06:12:41 +00:00 |
Arvid Norberg
|
c8088459a0
|
made torrent_info reference counted and held by a boost::intrusive_ptr
|
2007-09-01 03:00:31 +00:00 |
Arvid Norberg
|
e248ba0cdc
|
added asserts to make sure the global connection limit is not exceeded
|
2007-08-27 16:45:45 +00:00 |
Arvid Norberg
|
8b44a25bbb
|
more asserts and tests for the bandwidth_limiter
|
2007-08-26 23:40:58 +00:00 |
Arvid Norberg
|
744d96796b
|
made it possible to start torrents in paused state. updated documentation
|
2007-08-22 05:31:42 +00:00 |
Arvid Norberg
|
b8e48c061e
|
attempt to fix build errors on windows. #134
|
2007-08-21 04:46:17 +00:00 |
Arvid Norberg
|
3d3df51d45
|
fixed per torrent unchoke limit
|
2007-08-17 07:37:08 +00:00 |
Arvid Norberg
|
b341b653cb
|
assertion fix
|
2007-08-17 02:15:01 +00:00 |
Arvid Norberg
|
b05500570c
|
added parenthesis around std::min and std::max for msvc compatibility
|
2007-08-16 22:14:17 +00:00 |
Arvid Norberg
|
4ac1ac8a1f
|
removed allocate_resources. switched to a global unchoker and connection distribution
|
2007-08-16 12:41:46 +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
|
3f5204aff6
|
removed some invariant checks that are expensive
|
2007-08-08 22:38:30 +00:00 |
Arvid Norberg
|
3cdbda928e
|
fixes #104
|
2007-08-07 07:17:13 +00:00 |
Arvid Norberg
|
f2a8fe6df7
|
fixes to prevent incorrect asserts
|
2007-08-01 15:48:55 +00:00 |
Arvid Norberg
|
1973af7779
|
added alert messages for blocks finishing, pieces finishing and blocks being requested. patch by micah
|
2007-08-01 06:14:16 +00:00 |
Arvid Norberg
|
f89ce2669f
|
fixes #90. adds compact_mode to torrent_status
|
2007-07-23 04:36:56 +00:00 |
Arvid Norberg
|
3050e35adf
|
disabled lsd for private torrents
|
2007-07-23 00:38:31 +00:00 |
Arvid Norberg
|
664abc570b
|
uploads limit fix
|
2007-07-17 06:39:39 +00:00 |
Arvid Norberg
|
6650a34cfd
|
fixed #83
|
2007-07-15 14:20:55 +00:00 |
Arvid Norberg
|
9bdf2a9c8d
|
fixed invariant check in policy
|
2007-07-10 17:25:10 +00:00 |
Arvid Norberg
|
4771f323f6
|
added invariant checks for peer_counter in block_info. added bytes_progress and block_size to block_info (to allow a more detail download progress display). Updated client_test to show download progress per block and also to have a separate color for 'multi blocks' (i.e. blocks that have been requested from more than one peer)
|
2007-07-08 20:45:42 +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
|
3c69e3b2cb
|
updated asserts
|
2007-07-04 16:15:46 +00:00 |
Arvid Norberg
|
b20270d243
|
added more asserts related to recent downloading_piece optimization and fixed a translation problem to the public interface
|
2007-07-04 15:46:10 +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
|
e714e1aeba
|
improved bandwidth limiter and added a unit test for it
|
2007-07-02 23:48:06 +00:00 |