Arvid Norberg
|
87660b96c5
|
renamed announce_piece to piece_passed and moved it to piece_finished and piece_failed
|
2008-06-23 18:54:58 +00:00 |
Arvid Norberg
|
9447693202
|
storage fastresume fix
|
2008-06-23 18:31:52 +00:00 |
Arvid Norberg
|
c210b11b80
|
better fix for failing pieces
|
2008-06-23 14:45:01 +00:00 |
Arvid Norberg
|
6db1b54304
|
simplified policy and optimized case when a piece fails hash check
|
2008-06-22 20:28:03 +00:00 |
Arvid Norberg
|
a60b6f9e96
|
fixed bug in set_queue_position. Fixes #353
|
2008-06-21 15:51:03 +00:00 |
Arvid Norberg
|
d2bde64e71
|
makes sure a torrent doesn't have too many pieces than can be handled. Fixes #61
|
2008-06-19 11:28:34 +00:00 |
Arvid Norberg
|
9c94f54868
|
fixes for torrents with smaller pieces than 16kB
|
2008-06-18 12:34:39 +00:00 |
Arvid Norberg
|
77c13d73f6
|
fixed assert in set_queue_position
|
2008-06-17 16:49:55 +00:00 |
Arvid Norberg
|
24b24aff4e
|
force recheck fixes. Fixes #350
|
2008-06-17 14:56:22 +00:00 |
Arvid Norberg
|
6c24bd0774
|
moves force checked torrents to the end of the queue. Fixes #350
|
2008-06-16 22:27:14 +00:00 |
Arvid Norberg
|
3e000a3984
|
fixed save path updates when moving torrents. Fixes #310
|
2008-06-15 20:52:46 +00:00 |
Andrew Resch
|
933e3c8b54
|
Fixes for set_queue_position()
|
2008-06-11 12:14:10 +00:00 |
Arvid Norberg
|
6e69480176
|
disk_io_thread fixes. Properly destructs torrent objects while disk io mutex is not locked. Properly flushes disk cache when closing, and aborting read and file check jobs. Fixes #334
|
2008-06-09 04:46:34 +00:00 |
Arvid Norberg
|
efcd69b009
|
fixed set_queue_position() for seeding (or finished) torrents
|
2008-06-08 13:47:35 +00:00 |
Andrew Resch
|
3ea075f169
|
Add torrent_resumed alert
|
2008-06-08 05:14:40 +00:00 |
Arvid Norberg
|
a1857f9699
|
added force_recheck to torrent_handle. Fixes #120
|
2008-06-07 16:24:56 +00:00 |
Arvid Norberg
|
9f5fa96cad
|
fixed bug related to m_have_piece optimization. Renamed num_pieces() to num_have() to avoid confusion
|
2008-06-07 14:03:21 +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
|
bcc24bf831
|
added has_incoming to torrent_status per #315
|
2008-06-05 18:19:03 +00:00 |
Arvid Norberg
|
5d268424b2
|
update auto managed torrents sooner when changes are made
|
2008-06-03 20:21:47 +00:00 |
Arvid Norberg
|
31c9d378f5
|
completed queuing. It is now possible to change and query queue position of torrents.
|
2008-05-29 03:37:19 +00:00 |
Arvid Norberg
|
3910fe78de
|
separated file_storage from torrent_info and create_torrent
|
2008-05-28 08:44:40 +00:00 |
Arvid Norberg
|
68c31e48dc
|
replaced vector<bool> with a custom bitfield type
|
2008-05-28 02:35:02 +00:00 |
Arvid Norberg
|
4338140c85
|
added test and fixed total_wanted issue for files > 2 GB
|
2008-05-27 08:07:59 +00:00 |
Arvid Norberg
|
67354421fb
|
introduced an error state for torrents. Torrents with an error are not restarted automatically
|
2008-05-20 07:57:44 +00:00 |
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 |
Arvid Norberg
|
bbaa2efcb0
|
removed asserts that are can no longer be maintained with the async io
|
2007-06-13 18:09:52 +00:00 |
Arvid Norberg
|
b75a69cd47
|
added alerts for synchronizing disk io when pausing and moving storage
|
2007-06-11 21:24:14 +00:00 |
Arvid Norberg
|
3b8670626a
|
merged back async_io branch into trunk
|
2007-06-10 20:46:09 +00:00 |
Arvid Norberg
|
a7ad108e8a
|
made the unchoke interval configurable
|
2007-06-07 22:37:58 +00:00 |
Arvid Norberg
|
4f339272dc
|
minor cleanup
|
2007-06-03 05:57:05 +00:00 |
Arvid Norberg
|
31247c046a
|
supports turning on and off upnp, natpmp and lsd. All ofthem are now off by default
|
2007-05-31 00:21:54 +00:00 |
Arvid Norberg
|
f65c08338e
|
fixed bug with torrents having peers despite being paused
|
2007-05-30 08:37:36 +00:00 |
Arvid Norberg
|
14a15831ef
|
exposed piece availability vector
|
2007-05-30 06:52:59 +00:00 |
Arvid Norberg
|
1d15a5040c
|
removed old unused logging
|
2007-05-26 22:55:21 +00:00 |
Arvid Norberg
|
ea965431bf
|
fixed typo
|
2007-05-26 19:28:38 +00:00 |
Arvid Norberg
|
c10e74f4fc
|
improved control over the rate of connection attempts
|
2007-05-25 21:00:35 +00:00 |
Arvid Norberg
|
bb71832f5f
|
exposed some more peer info
|
2007-05-25 19:42:10 +00:00 |
Arvid Norberg
|
685f79b82f
|
option to ignore bandwidth limits for local peers. fixed some asserts when allowing multiple connections per IP
|
2007-05-25 17:06:30 +00:00 |
Arvid Norberg
|
510966f2a5
|
fixed fast resume data bug when using full allocation mode, and moved parts of resume data generation to the storage
|
2007-05-24 18:53:55 +00:00 |
Arvid Norberg
|
58b23a79e7
|
exception fixes
|
2007-05-24 17:07:43 +00:00 |
Arvid Norberg
|
cbd67ed729
|
added support for authentication in the url_parser and added a test for it
|
2007-05-22 20:44:18 +00:00 |
Arvid Norberg
|
ea45641c8b
|
made lsd work
|
2007-05-17 00:01:51 +00:00 |
Arvid Norberg
|
1d68e10684
|
made it build in msvc by inserting ; at the end of function try blocks
|
2007-05-16 01:17:14 +00:00 |
Arvid Norberg
|
f5c449837f
|
introduced an extra invariant check in policy to make sure peers are unique
|
2007-05-12 20:25:44 +00:00 |
Arvid Norberg
|
f39185bb21
|
optimized the read callback to loop and exhaust the read buffer from the socket instead of making another async read call. #43
|
2007-05-10 01:50:11 +00:00 |
Arvid Norberg
|
a5847956e1
|
most of the metadata is now freed when a torrent becomes a seed. #44
|
2007-05-09 22:54:26 +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
|
a2b359b64e
|
fixed assert in torrent.cpp
|
2007-05-07 18:19:53 +00:00 |
Arvid Norberg
|
508dfd722a
|
cleaned up policy a bit and the country code list
|
2007-05-05 22:55:34 +00:00 |
Arvid Norberg
|
49bd69cad4
|
introduced a proper half open TCP connection limit. Also exposed the connection queue to let clients use the same connection limiter as libtorrent. UPnP connections and tracker connection are now also limited as well as peer connections and web seeds
|
2007-05-05 00:29:33 +00:00 |
Arvid Norberg
|
983f4bc02e
|
removed unneccesary connection lookup in connect_peer
|
2007-05-04 16:35:29 +00:00 |
Arvid Norberg
|
9be3f14dd7
|
fixed bug in recent connection queue changes
|
2007-05-03 17:12:24 +00:00 |
Arvid Norberg
|
56a4b8412a
|
restored the faster connection behavior
|
2007-05-03 01:49:14 +00:00 |
Arvid Norberg
|
54805ca60b
|
added option to disable country resolving
|
2007-05-02 19:47:38 +00:00 |
Arvid Norberg
|
13bcb48dba
|
fixed warnings and removed unused variables
|
2007-05-02 18:45:29 +00:00 |
Arvid Norberg
|
04e41cf702
|
improved connection queue handling slightly. Will require further improvements
|
2007-05-02 17:38:37 +00:00 |
Arvid Norberg
|
f41fd7d303
|
added catch blocks to lsd. changed bind expressions to use operators
|
2007-04-29 20:49:30 +00:00 |
Arvid Norberg
|
00948e9fc4
|
first attempt to implement SOCKS5 and proper HTTP proxy support. fixes #22
|
2007-04-25 18:26:35 +00:00 |
Arvid Norberg
|
d43a6b80bf
|
added an abstraction layer or tcp sockets, to be able to support socks proxys
|
2007-04-23 21:36:21 +00:00 |
Arvid Norberg
|
75d61207f2
|
fix for prioritize_files()
|
2007-04-17 22:56:14 +00:00 |
Arvid Norberg
|
849db39472
|
added peer_blocked_alert which is generated when a peer is blocked by the IP filter. Fixed the ip-filter parsing in client_test and made it report the peer_blocked_alert. Added documentation.
|
2007-04-17 05:56:43 +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
|
0e5ce5dd9d
|
cleaned up policy a bit, moved the seed check in on_bitfield to be performed before the piece picker is updated
|
2007-04-13 01:53:25 +00:00 |
Arvid Norberg
|
52623405f0
|
improved unchoking, connecting and disconnecting logic in policy. seems to fix #29
|
2007-04-12 10:21:55 +00:00 |
Arvid Norberg
|
87b1cdc341
|
fix to avoid connecting web seeds when not a seed but finished
|
2007-04-11 22:27:58 +00:00 |
Arvid Norberg
|
e503e334d5
|
fix to previous check-in
|
2007-04-11 17:44:15 +00:00 |
Arvid Norberg
|
109cc3f232
|
made the announce timer (for dht and lsd) use a weak pointer instead of raw pointer, to avoid problems when torrent is being destructed
|
2007-04-11 17:22:19 +00:00 |
Arvid Norberg
|
250adabcfa
|
removed unused web stats
|
2007-04-11 16:50:54 +00:00 |
Arvid Norberg
|
3ed24da320
|
added source to peer_info, which is a bitmask of the sources where the peer has been acquired from
|
2007-04-10 21:23:13 +00:00 |
Arvid Norberg
|
4ceb6a02ea
|
added download_limit and upload_limit functions to torrent_handle
|
2007-04-10 09:25:17 +00:00 |
Arvid Norberg
|
d88ffcc0e4
|
removed some more unecessary boost.date_time dependencies
|
2007-04-10 07:52:58 +00:00 |
Arvid Norberg
|
e7d1f92623
|
removed debug printout
|
2007-04-05 16:33:40 +00:00 |
Arvid Norberg
|
306d015924
|
added a timer abstraction and replaced the use of boost.date_time. the timers used now are QueryPerformanceCounter on windows, mach_absolute_time on darwin and currently falls back on boost.date_time on other platforms. This has the advantage of being a monotonic clock, and also slightly more efficient
|
2007-04-04 22:27:36 +00:00 |
Arvid Norberg
|
a4ccee15df
|
removed unused code
|
2007-04-04 02:10:25 +00:00 |
Arvid Norberg
|
5e32484194
|
first stab at getting local service discovery
|
2007-04-04 02:06:07 +00:00 |
Arvid Norberg
|
ec2962dd62
|
extensions are now instantiated for web seeds as well
|
2007-04-02 20:00:24 +00:00 |
Arvid Norberg
|
f65b5f677b
|
fixed incorrect locking that might cause invariant check failures
|
2007-03-30 22:00:26 +00:00 |
Arvid Norberg
|
513d388c2c
|
added extension hook when files have been checked
|
2007-03-28 22:59:35 +00:00 |
Arvid Norberg
|
ce14cb5783
|
properly updates piece interest bit for deprecated filter functions
|
2007-03-28 22:22:24 +00:00 |
Arvid Norberg
|
f1af5dc637
|
changes to ut_pex, added support for seed flag in pex messages
|
2007-03-28 01:06:15 +00:00 |
Arvid Norberg
|
985e457e91
|
fixed exception issue
|
2007-03-26 06:48:34 +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
|
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
|
029953c5ae
|
made the storage into a customization point. it is now interchangable for a custom implementation
|
2007-03-16 05:29:23 +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
|
87d9cdb965
|
fix for msvc-7.1
|
2007-03-11 23:17:40 +00:00 |
Arvid Norberg
|
6f0a0beadb
|
fix to allow hostnames for peers in tracker responses
|
2007-03-07 18:50:38 +00:00 |
Arvid Norberg
|
b0ae8d3a14
|
tracker fixes for trackerless torrents
|
2007-02-21 17:15:47 +00:00 |
Arvid Norberg
|
3fc73cb219
|
added a web seed test (requires manual environment setup for web server). fixed bug in torrent_info where file offsets could be left uninitialized. Fixed bug in torrent which would cause a crash in case a torrent without any trackers would be aborted.
|
2007-02-20 01:42:12 +00:00 |
Arvid Norberg
|
4f86042b97
|
bandwidth management fix + improved string conversion fallback in case strings are incorrect in torrent
|
2007-02-19 23:06:20 +00:00 |
Arvid Norberg
|
f5fe27e691
|
bandwidth management fix + fix to http tracker connection request builder
|
2007-02-19 21:24:48 +00:00 |
Arvid Norberg
|
9c0e9701d9
|
fix for bug in bandwidth throttler when limiting a torrent to lower than bandwidth block size. Fixed #ifndef related to DHT support
|
2007-02-19 00:01:39 +00:00 |
Arvid Norberg
|
889ad70cee
|
fixes for metadata-less torrents, and fixes for peer requests
|
2007-02-15 03:03:50 +00:00 |
Arvid Norberg
|
14cb23cec2
|
tracker announces will always request 50 peers, unless it's stopped
|
2007-02-12 22:45:23 +00:00 |
Arvid Norberg
|
6a47eb501e
|
fixed problem with torrents that were paused not getting any upload slots or connection quota once the were unpaused
|
2007-02-12 18:21:14 +00:00 |
Arvid Norberg
|
f795be7acf
|
made the dht be a fallback by default, fixed glitch in earlier fix to make sure block requests are sent properly, fixed problem in peer_connection::second_tick if the piece picker was removed because of the torrent becoming a seed
|
2007-02-12 09:20:49 +00:00 |
Arvid Norberg
|
98b92e3f02
|
fixed problems in the network layer that made web seeds fail some times. prepared for proxy support in peer connections. worked on the http seeding. added support for web seeds in make_torrent tool
|
2007-02-12 05:46:29 +00:00 |
Arvid Norberg
|
d0ebdb2dee
|
added prioritization in the bandwidth_manager (throttler), web seeds now have lower priority when being handed bandwidth. torrent_reply_alert now includes the number of peers returned from the tracker. updated Changelog
|
2007-02-01 07:33:04 +00:00 |
Arvid Norberg
|
05f4ce5b6c
|
fixed potetial deadlock in bandwidth manager. Fixed http-tracker requests that are sensitive to existing arguments in url (avoids duplicates and doesn't replace arguments)
|
2007-01-30 17:56:42 +00:00 |
Arvid Norberg
|
f14c84b01e
|
fixes in DHT to make it work when the number of transaction slots are full (very rare case). Added a feature to (optionally) resolve the countries of peers and updated the docs (see peer_info::country).
|
2007-01-29 07:39:33 +00:00 |
Arvid Norberg
|
69ef67d71e
|
made a common base class for torrent alerts. Made the bandwidth quota block size variable depending on the limit
|
2007-01-16 05:05:52 +00:00 |
Arvid Norberg
|
cfb238886d
|
added lines that were removed by mistake
|
2007-01-11 02:59:38 +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
|
d58c6d2e31
|
fixed so that both session constructors initializes boost.filesystem. Fixed the case where the file check throws exceptions, the torrent is no longer removed, but paused
|
2006-12-30 23:02:21 +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
|
1b46fb9e1b
|
fixed an assert in teh web seed downloader
|
2006-12-21 02:44:00 +00:00 |
Arvid Norberg
|
ae4267e0a0
|
fixed the new web seed code to work with multi-file torrents
|
2006-12-20 23:06:24 +00:00 |
Arvid Norberg
|
3a7eeb3966
|
rewrote most of the web seed downloader to report its progress accurately (to prevent inconsistencies in the core). Not well tested with multi file torrents yet
|
2006-12-18 01:23:30 +00:00 |
Arvid Norberg
|
0bad3bcc48
|
fixed typos
|
2006-12-15 23:24:40 +00:00 |
Arvid Norberg
|
4c78274897
|
added more asserts in bytes_done()
|
2006-12-15 23:22:40 +00:00 |
Arvid Norberg
|
13facbdb83
|
added a strand for all async operations for thread safety
|
2006-12-15 17:47:21 +00:00 |
Arvid Norberg
|
c567d06406
|
some asserts
|
2006-12-15 12:29:47 +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
|
9e27e33c99
|
added some asserts and updated changelog
|
2006-12-14 16:12:31 +00:00 |
Arvid Norberg
|
f0e97d5aff
|
fixes and asserts partly related to the freeing of the piece picker
|
2006-12-11 12:48:33 +00:00 |
Arvid Norberg
|
90feac8126
|
deallocates the piece picker when seeding, to free up unused memory
|
2006-12-04 12:20:34 +00:00 |
Arvid Norberg
|
947df91b20
|
improved support for multiple connections per ip
|
2006-11-30 11:56:19 +00:00 |
Arvid Norberg
|
93b51d7652
|
more tweaks on quota management
|
2006-11-24 16:59:47 +00:00 |
Arvid Norberg
|
c5cf290f49
|
more quota management fixes and more stats for web seeds
|
2006-11-24 14:22:52 +00:00 |
Arvid Norberg
|
8e289bb233
|
improved logging and fixed glitch in quota management.
|
2006-11-21 15:51:28 +00:00 |
Arvid Norberg
|
d90f833eed
|
fixed problem in quota management for upload and download bandwidth
|
2006-11-21 00:42:52 +00:00 |
Arvid Norberg
|
68e8ea35ea
|
added logging of upload and download statistics, revised some of the quota management, added support for sessions to allocate_resources (patch by wojci)
|
2006-11-20 21:03:58 +00:00 |
Arvid Norberg
|
c52de08421
|
added more logging and modified the resource allocation algorithm. A new, looser, upload and download bandwidth limiter is now used, in order to be able to use more of the available bandwidth
|
2006-11-19 15:29:58 +00:00 |
Arvid Norberg
|
51e3261dd0
|
the file pool has been moved to the session and its size can be controlled via session_settings. Added untested option to allow multiple connections from the same IP.
|
2006-11-14 15:53:38 +00:00 |
Arvid Norberg
|
e35fc5c4be
|
refactored extensions and added a plugin interface. fixed file.cpp for windows
|
2006-11-14 00:08:16 +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
|
8346841d35
|
fixed bug in file_progress with file sizes of 0 bytes
|
2006-10-08 20:36:05 +00:00 |
Arvid Norberg
|
411bc4895c
|
incoming connections are now prioritized over outgoing connections with the same ip
|
2006-09-27 17:17:41 +00:00 |
Arvid Norberg
|
80dc56d388
|
fixed crashing bug when removing torrents while checking
|
2006-09-24 11:22:25 +00:00 |
Arvid Norberg
|
1bde539d67
|
made the values sent to the tracker only include complete and hash checked data, to make them increase and decrease monotonically
|
2006-09-24 00:48:31 +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
|
bdf1bbc8f4
|
changed the file format for storing the DHT routing table to support IPv6. Changed the address used to be IPv4-IPv6 independent (ip_filter still onlt works with IPv4). Added default boost-build features to the building documentation. Completed the jamfile's support for building without DHT support. Updated documentation with these changes.
|
2006-09-01 03:06:00 +00:00 |
Arvid Norberg
|
d0a38c50c6
|
fixed crash bug occuring when removing a torrent while it announces on the DHT. Fixed the mainloop not to quit when an uncought exception is thrown.
|
2006-08-29 01:15:24 +00:00 |
Arvid Norberg
|
056558576e
|
fixed overflow bug in file_progress() and bug in the parsing of dht nodes from torrent files
|
2006-08-27 18:38:30 +00:00 |
Arvid Norberg
|
8227b160ea
|
fixed missing header include. added todo comment at a reported bug
|
2006-08-10 23:36:58 +00:00 |
Arvid Norberg
|
5ef57265bf
|
first version with DHT support. Limited pipelining used by url-seeds. Fixed one configuration problem on FreeBSD.
|
2006-08-01 15:27:08 +00:00 |
Arvid Norberg
|
eef4ffa18c
|
preliminary http proxy support for web seeds, bumped version number
|
2006-07-27 18:07:51 +00:00 |
Arvid Norberg
|
00df2b5bc3
|
added build notes for vs.net 2005, removed old code from ip_filter.cpp, fixed problem where the stats could become incorrect in case of very high cpu load, added asserts in storage::read() to make sure one is not trying to read out of bounds.
|
2006-07-26 10:21:25 +00:00 |
Arvid Norberg
|
175fb8770b
|
added peer_timeout and urlseed_timeout to session_settings, they control the timeout for peers and web seeds respectively. Added BitSlug to the projects page. Added more debug logging when resolving web seed hostnames. Updated documentation.
|
2006-06-28 23:27:44 +00:00 |
Arvid Norberg
|
d3ba5edd6d
|
fixed a long standing (quite rare) bug, thanks to Massaroddel. Made the tests clean up their temporary files.
|
2006-06-24 22:30:59 +00:00 |
Arvid Norberg
|
926e6551c1
|
*** empty log message ***
|
2006-06-17 23:42:01 +00:00 |
Arvid Norberg
|
903e11e458
|
moved the asio headers into the include directory, to have them installed when libtorrent is installed. improved the complexity of torrent_info::map_file(), It's now O(1).
|
2006-06-17 22:04:25 +00:00 |
Arvid Norberg
|
8fafa58c1f
|
added per file progress, added patch suggested by Tianhao Qui regarding unchoking when a peer becomes uninterested. Updated documentation and removed block quotes around bullet lists.
|
2006-06-11 23:24:36 +00:00 |
Arvid Norberg
|
94628fa78d
|
fixed race condition in peer_connection, fixed assert in torrent destructor, updated tests
|
2006-05-28 19:03:54 +00:00 |
Arvid Norberg
|
58698d6aea
|
fixed the tests to build with the latest version of asio. added a missing include to identify_client.hpp
|
2006-05-21 15:35:11 +00:00 |