Arvid Norberg
|
5840a50d79
|
fixed stale state when switching from finished to downloading
|
2008-05-20 03:21:45 +00:00 |
Arvid Norberg
|
777954ab3e
|
automatically scrape auto managed torrents to keep track of downloader/seed ratio
|
2008-05-19 04:06:25 +00:00 |
Arvid Norberg
|
c460704a5f
|
streamlined class footprint by reducing padding
|
2008-05-19 02:52:32 +00:00 |
Arvid Norberg
|
282f30c7e7
|
saves number of seeds and downloaders last seen in resume data
|
2008-05-18 19:31:06 +00:00 |
Arvid Norberg
|
ffa9baed1d
|
fixed bug where torrent would not connect to peers unless it had the .torrent
|
2008-05-18 18:30:26 +00:00 |
Arvid Norberg
|
7f639e57de
|
improved error handling with regards to parse_url_components. For trunk, moved that function to its own file
|
2008-05-17 14:19:34 +00:00 |
Arvid Norberg
|
ffbc22dfc2
|
respects the port filter for web seeds. Fixes #304
|
2008-05-15 05:13:09 +00:00 |
Arvid Norberg
|
91d6099a55
|
fixed issue with torrents with 0 pieces. Fixes #306
|
2008-05-15 02:29:26 +00:00 |
Arvid Norberg
|
8ed949c4d5
|
factored out torrent creation functionality from torrent_info into create_torrent. Modified torrent_info to use lazy_bdecoder for increased performance
|
2008-05-14 05:29:42 +00:00 |
Arvid Norberg
|
756dbe3316
|
removed leftover from debugging
|
2008-05-12 09:31:57 +00:00 |
Arvid Norberg
|
a01c412f9e
|
piece picker fixes (introduced when rewriting the piece checking)
|
2008-05-12 06:20:54 +00:00 |
Arvid Norberg
|
068adcd9a9
|
indentation fix
|
2008-05-12 06:03:31 +00:00 |
Arvid Norberg
|
f2ac4db1af
|
changed the optimistic disconnect logic to be more efficient and configurable
|
2008-05-12 05:17:11 +00:00 |
Arvid Norberg
|
5741f72ab3
|
seed rank fix
|
2008-05-07 17:05:16 +00:00 |
Arvid Norberg
|
018ec69d8c
|
indentation fix
|
2008-05-06 21:27:06 +00:00 |
Arvid Norberg
|
9429ca4b1f
|
replaced seed cycles with seed rank
|
2008-05-06 18:03:41 +00:00 |
Arvid Norberg
|
e09457e4ab
|
take an estimate of the IP ACK traffic into account when rate limiting (allows setting rate limits closer to the capacity)
|
2008-05-05 17:08:14 +00:00 |
Arvid Norberg
|
c7e6c04705
|
switched over to asio from boost-1.35
|
2008-05-03 16:05:42 +00:00 |
Arvid Norberg
|
c043d4b21d
|
initial support for queuing
|
2008-04-24 03:28:48 +00:00 |
Arvid Norberg
|
7a432786e7
|
added url to tracker alerts. introduced a base class for all tracker alerts
|
2008-04-23 01:54:21 +00:00 |
Andrew Resch
|
05c1a64c76
|
Move the torrent_checked alert post to torrent::files_checked
|
2008-04-23 01:01:00 +00:00 |
Arvid Norberg
|
d4ddf3712a
|
initializes totals to 0 in torrent
|
2008-04-22 22:37:40 +00:00 |
Arvid Norberg
|
a4b69e5b2d
|
logging improvements
|
2008-04-20 17:17:58 +00:00 |
Arvid Norberg
|
b452020404
|
fixed resume data bug
|
2008-04-16 07:51:08 +00:00 |
Arvid Norberg
|
755e50bb12
|
added active_time, seeding_time, all_time_upload and all_time_download to torrent_status. Also updated docs with some missing entries in torrent_status
|
2008-04-16 06:31:05 +00:00 |
Arvid Norberg
|
644d3aa66c
|
disk IO thread error handling
|
2008-04-13 21:26:57 +00:00 |
Arvid Norberg
|
3fea2080fd
|
added an asynchronous save_resume_data to make it easier to synchronize with the disk IO thread
|
2008-04-13 18:54:36 +00:00 |
Arvid Norberg
|
6639f72804
|
if priorities are changed so that the torrent changes state to be finished, a torrent_finished_alert is generated now. Fixes #305
|
2008-04-13 07:39:37 +00:00 |
Arvid Norberg
|
17c4257cce
|
added get_full_peer_list to retrieve all the peers known for a swarm
|
2008-04-13 06:32:48 +00:00 |
Andrew Resch
|
ca872a0e82
|
Revert last.
|
2008-04-13 02:47:41 +00:00 |
Andrew Resch
|
d825c1d5bd
|
Add torrent_resumed torrent alert.
|
2008-04-13 02:34:18 +00:00 |
Arvid Norberg
|
908273a02b
|
fixed assert
|
2008-04-13 01:28:44 +00:00 |
Arvid Norberg
|
d4cfa126aa
|
storage fixes
|
2008-04-12 22:08:07 +00:00 |
Arvid Norberg
|
291ef2a2c9
|
optimized torrent_handle to use a weak_ptr directly to the torrent object
|
2008-04-09 20:09:36 +00:00 |
Arvid Norberg
|
4eeb15c1df
|
verifies urls before connecting to web seeds. Fixes #301
|
2008-04-09 07:51:41 +00:00 |
Arvid Norberg
|
04a9dd77b5
|
assert fix
|
2008-04-07 08:15:31 +00:00 |
Arvid Norberg
|
89a9a25197
|
exception fixes in torrent
|
2008-04-07 02:51:21 +00:00 |
Arvid Norberg
|
35fd9aec61
|
msvc build fixes and warning fixes
|
2008-04-05 21:18:27 +00:00 |
Arvid Norberg
|
54bd1a41b0
|
fix to recent change to move out references to self() from peer_connection constructors
|
2008-04-01 19:17:09 +00:00 |
Arvid Norberg
|
4161be867e
|
removed dht ping from peer_from_tracker. in trunk: implemented a rate limited DHT ping (once a second per torrent) and space optimized the peer structure
|
2008-04-01 17:38:19 +00:00 |
Arvid Norberg
|
1511f2f59b
|
removed calls to self() from inside constructors in peer connections
|
2008-03-31 04:46:24 +00:00 |
Arvid Norberg
|
57cd1e7c97
|
fixed #298. Generates a torrent_paused alert when there's no storage
|
2008-03-30 15:44:31 +00:00 |
Arvid Norberg
|
45a7329d5c
|
added alert for when the client's external IP is received
|
2008-03-29 22:45:55 +00:00 |
Arvid Norberg
|
ffecb32b81
|
made a bias to give connection attempts to downloading torrents with few peers. Should accelerate downloads on windows (where there's a half-open connection limit)
|
2008-03-29 19:39:24 +00:00 |
Arvid Norberg
|
2014e312b1
|
exposed connection_candidates in torrent_status and made a small optimization to not attempt to connect peers on swarms that don't have any connect candidates
|
2008-03-29 18:47:24 +00:00 |
Arvid Norberg
|
537f21d1b9
|
connection rate improvement when using a half-open connections limit
|
2008-03-16 10:49:47 +00:00 |
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 |
Arvid Norberg
|
8aa37dfa39
|
fixed #75
|
2007-07-02 19:31:46 +00:00 |
Arvid Norberg
|
816bf3ff2d
|
made the number of peers requested from trackers customizable
|
2007-07-02 18:44:33 +00:00 |
Arvid Norberg
|
340a91e2a4
|
fixed #74
|
2007-06-21 00:51:42 +00:00 |
Arvid Norberg
|
0d7a208865
|
added more output to transfer tests and changed the data to be more easily debuggable + some code cleanup
|
2007-06-20 18:41:53 +00:00 |