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 |