Commit Graph

1266 Commits

Author SHA1 Message Date
Arvid Norberg 83754b3427 merged post_torrent_updates assert from libtorrent_aio 2012-10-06 14:31:14 +00:00
Arvid Norberg 5bc322c031 merged get_torrent_info deprecation from libtorrent_aio, replaced by torrent_file() 2012-10-02 16:07:55 +00:00
Arvid Norberg bff648a89e update copyright dates and add tool to do so 2012-10-02 03:16:33 +00:00
Arvid Norberg d181b2e057 merge pad_file_at optimization from libtorrent_aio 2012-09-30 20:55:12 +00:00
Arvid Norberg c56901e864 improve web seed hash failure mode 2012-09-29 17:46:41 +00:00
Arvid Norberg 13bbb936ee fix format string typo 2012-09-28 00:18:54 +00:00
Arvid Norberg 4ea4d32554 merge active_tracker_limit increase and logging polish from RC_0_16 2012-09-27 23:50:15 +00:00
Arvid Norberg 5e2ff1a246 merged logging cleanup from RC_0_16 2012-09-27 23:04:51 +00:00
Arvid Norberg 0ec16827ff fix invariant check 2012-09-11 05:27:14 +00:00
Arvid Norberg 9951724f16 back-ported add_torrent_params extension from libtorrent_aio 2012-08-31 17:04:02 +00:00
Arvid Norberg 64a56e4581 merged fix from RC_0_16 2012-08-30 01:54:35 +00:00
Arvid Norberg fdc25967c2 merged string function cleanup from RC_0_16 2012-08-26 15:26:17 +00:00
Arvid Norberg 2665d2a4e1 file_progress support for magnet links 2012-08-26 06:38:29 +00:00
Arvid Norberg ceed83afde fixed typo tying file_completed_alert to piece_finished_alert 2012-08-13 03:40:43 +00:00
Arvid Norberg 0685fb91bd DHT throttling fix 2012-08-03 05:13:40 +00:00
Arvid Norberg e7cc28e9df fix SSL error messages 2012-08-01 15:01:13 +00:00
Arvid Norberg a348eae42d don't save excessive number of peers in the resume data 2012-07-04 21:33:04 +00:00
Arvid Norberg 3c0e7e0a4a keep counters of the number of active downloading and finished torrents in order to have a cheap way of prioritizing peer connections for downloading torrents over finished ones 2012-06-21 03:51:39 +00:00
Arvid Norberg e94963d085 fixed crash when providing corrupt resume data 2012-06-08 15:44:13 +00:00
Arvid Norberg 306b467b94 fix add torrent by url 2012-05-19 21:33:42 +00:00
Arvid Norberg 403c49ac29 factor out removing chunk headers from http streams and fix chunked encoding support when adding torrents by url 2012-05-16 05:32:12 +00:00
Arvid Norberg 5275e75fa5 back-port deletion of the redundant peer_connection constructor from libtorrent_aio 2012-05-14 05:43:45 +00:00
Arvid Norberg 402d6bb6b6 optimize torrent::status to scale better with the number of peers 2012-05-06 22:46:21 +00:00
Arvid Norberg 7f2f705b49 fixed piece sorting bug of deadline pieces 2012-05-05 19:46:02 +00:00
Arvid Norberg 56c05f9671 fix memory leak/bug in torrent::use_interface 2012-05-03 04:22:14 +00:00
Arvid Norberg 853fec3f07 fix to previous patch 2012-04-29 04:23:29 +00:00
Arvid Norberg 44995ee41d one more UNC path fix 2012-04-29 04:20:02 +00:00
Arvid Norberg 1c60ae4064 canonicalize paths when using UNC paths 2012-04-28 21:13:55 +00:00
Arvid Norberg 6b40d5983b initialize connections immediately when metadata is received 2012-04-26 16:38:36 +00:00
Arvid Norberg 2fc7f2191f is_seed() is not a good indicator of whether or not we have a piece picker. use has_picker() instead 2012-04-25 19:16:22 +00:00
Arvid Norberg 49f74be42f make super-seeding a bit more robust 2012-04-23 05:48:46 +00:00
Arvid Norberg 04eeb98bb3 fix for when critical pieces are completed via non-critical piece requests 2012-04-17 03:38:50 +00:00
Arvid Norberg b491a76159 fix one more web seed issue caused by introducing a peer_info struct for web seeds 2012-04-14 06:32:35 +00:00
Arvid Norberg 48b85ba586 added more asserts in an attempt to track down invalid policy peer pointers in the piece picker. also fixed a web seed related crash when geoip support is enabled 2012-04-12 05:00:20 +00:00
Arvid Norberg bd8a467ad9 merged web seed peer_info bugfixes from RC_0_16 2012-04-11 07:26:02 +00:00
Arvid Norberg a5a9006014 merged fixes from RC_0_16 into trunk 2012-04-07 00:35:25 +00:00
Arvid Norberg 6acde24799 merged SSL fix from RC_0_16 2012-04-05 04:17:19 +00:00
Arvid Norberg f7739a5699 only finalize files while downloading (not while checking) 2012-04-04 05:32:06 +00:00
Arvid Norberg 418c1e8190 make tracker back-off configurable 2012-03-29 03:51:22 +00:00
Arvid Norberg d5ef64ddb2 don't restart the swarm after downloading metadata from magnet links 2012-03-27 00:24:09 +00:00
Arvid Norberg 6fcc469aef support banning web seeds that send corrupt data 2012-03-24 01:29:31 +00:00
Arvid Norberg 341967dab7 improve magnet link support. in RSS feeds for instance. Parsing of magnet links was factored out and moved to the proper place, in session_impl::add_torrent 2012-03-08 09:54:44 +00:00
Arvid Norberg 57eb57ac78 move trust point and hashfailure counter logic to where they belong 2012-03-06 07:35:56 +00:00
Arvid Norberg ea59a9be22 simplify connection attempt distribution logic to not lower the connection rate with a downloading torrent among seeding ones 2012-03-05 10:42:25 +00:00
Arvid Norberg 1bd4d1633c added assert in torrent::state_updated() to make sure it's not called from the constructor 2012-03-01 23:18:32 +00:00
Arvid Norberg 8d754b9674 deprecate torrent_handle::super_seeding() and move it into torrent_status 2012-03-01 09:01:48 +00:00
Arvid Norberg 30d02f6b7a fix potential integer overflows and a typo in boost_version conditional 2012-02-27 06:26:11 +00:00
Arvid Norberg c168f9e1df fixed assert 2012-02-26 01:36:29 +00:00
Arvid Norberg fdc6d3722b fix boost version condition for new asio ssl features 2012-02-26 00:01:53 +00:00
Arvid Norberg b5bf19c07b fix openssl build with boost-1.46 2012-02-25 08:31:25 +00:00
Arvid Norberg 6c395cedee fix build for boost < 1.47 2012-02-23 04:32:50 +00:00
Arvid Norberg 5e4b8f785d add missing state update calls when queue position changes 2012-02-21 05:59:38 +00:00
Arvid Norberg 065d75b02d fix bug in file storage unit test, and the bug causing mapped files to not be restored correctly from resume files 2012-02-19 19:00:52 +00:00
Arvid Norberg 5a23d04143 fix some clang warnings 2012-02-18 08:23:48 +00:00
Arvid Norberg d9db8e20f5 fix another pad file corner case 2012-02-17 07:19:54 +00:00
Arvid Norberg d5f51f60ab fix issue introduced with updated disconnect-redundant logic for metadata-only seeding 2012-02-16 10:06:21 +00:00
Arvid Norberg 71c7956645 fix warnings 2012-02-16 06:12:36 +00:00
Arvid Norberg 47781bf2c5 cleanup, fix warnings 2012-02-15 10:57:49 +00:00
Arvid Norberg eecbb8a0f2 more metadata invariant fixes for edge cases 2012-02-10 16:37:50 +00:00
Arvid Norberg 679abf2e57 this time, actually remove the encrypted torrent (AES-256 encrypted peer connections) 2012-02-09 06:47:22 +00:00
Arvid Norberg f7b5c10b2b add asserts to try to catch crash in peer_connection::received_valid_data 2012-02-09 06:24:58 +00:00
Arvid Norberg a6b5f761e8 rename is_local to is_outgoing and m_active to m_outgoing 2012-02-07 03:46:21 +00:00
Arvid Norberg 8d7940d47e clean up string constness issue 2012-01-29 23:05:07 +00:00
Arvid Norberg 89ee8463c6 properly authenticate web seeds and trackers over SSL 2012-01-29 02:27:55 +00:00
Arvid Norberg 5d13327fb0 fix typo 2012-01-27 06:21:19 +00:00
Arvid Norberg 7741b732de fixed crash when loading malformed resume file 2012-01-27 05:08:06 +00:00
Arvid Norberg dce8b3cc1a improve seed rank calculation 2012-01-23 01:57:40 +00:00
Arvid Norberg 7f90a241b6 don't let hung outgoing connection attempts block incoming connections 2012-01-21 09:05:34 +00:00
Arvid Norberg ef1d8b5921 fix build 2012-01-20 06:07:19 +00:00
Arvid Norberg ed56520d24 more asserts around state updates 2012-01-20 05:40:32 +00:00
Arvid Norberg ae90a8f85e verify that torrent names matches the DNS name in its certificate (RFC 2818-style). Fix issues that was breaking SSL support and tidy up a bit 2012-01-15 23:34:43 +00:00
Arvid Norberg 4a40e68a82 landed ssl branch back into trunk 2012-01-14 16:04:25 +00:00
Arvid Norberg 2967468a8b fixed overflow in assert 2011-12-30 21:32:27 +00:00
Arvid Norberg fcab6a257f fix post_torrent_update issue for checking torrents 2011-12-25 12:16:04 +00:00
Arvid Norberg 08523e3855 fix state update for checking torrents (when using post_torrent_updates()) 2011-12-24 20:12:34 +00:00
Arvid Norberg 9412506df7 restore assignment removed by mistake 2011-12-23 20:40:13 +00:00
Arvid Norberg f60ea6a4a9 support queue positions greater than 32768 2011-12-23 19:30:23 +00:00
Arvid Norberg 231fc30e13 postpone recalculate auto-managed torrents when changing many torrents state 2011-12-23 17:16:14 +00:00
Arvid Norberg e47a1eb5b2 fix state subscriptions for checking torrents 2011-12-19 05:55:38 +00:00
Arvid Norberg ef724014aa deprecated per-peer rate limits (and removed them from libtorrent_aio) 2011-12-18 12:52:09 +00:00
Arvid Norberg 0370fb7632 don't filter local peers received from a non-local tracker 2011-12-12 07:03:51 +00:00
Arvid Norberg 38889d4bda fixed debug iterator assert 2011-11-24 23:01:35 +00:00
Arvid Norberg cab1f3d207 fix issue when peer list is full, previously we would sometimes reject new connections 2011-11-24 17:50:57 +00:00
Arvid Norberg 5d8ce01c7a silence valgrind warning about uninitialized memory 2011-11-20 20:49:18 +00:00
Arvid Norberg fdc5e7e8b2 keep track of where redundant downloads come from. make the timing out of block requests more reasonable in an attempt to actually complete pieces from other peers when stuck on a slow one 2011-11-16 02:29:59 +00:00
Arvid Norberg 0320546fee fix build 2011-11-15 06:47:02 +00:00
Arvid Norberg c4232065d8 introduced a more scalable API for torrent status updates (post_torrent_updates()) 2011-11-15 02:34:00 +00:00
Arvid Norberg 2330520c51 change the add_torrent_params API to use flags instead of a bunch of bools (but leave it backwards compatible) 2011-11-08 05:36:22 +00:00
Arvid Norberg 1c8a7b6343 fixed invalid torrent_status::finished_time 2011-10-26 00:58:21 +00:00
Arvid Norberg 14e7c9f480 queue position fix 2011-10-15 07:11:50 +00:00
Arvid Norberg 01405f32ee added async_add_torrent for increased performance when adding many torrents (no documentation yet though) 2011-10-12 10:27:17 +00:00
Arvid Norberg f20a63e817 fix web seed race condition when using a proxy 2011-09-30 09:09:33 +00:00
Arvid Norberg 20e261e80a log piece size for pieces that finishes 2011-09-26 02:27:23 +00:00
Arvid Norberg da0f992c47 fix logging build 2011-09-25 23:42:56 +00:00
Arvid Norberg cda738abc6 minor logging fix 2011-09-23 05:12:29 +00:00
Arvid Norberg 976a50384a some more struct layout optimization 2011-09-22 10:37:47 +00:00
Arvid Norberg 7a50255865 improved struct layout debug logging and optimized some structs 2011-09-21 09:27:07 +00:00
Arvid Norberg 52a0760e5b fix release asserts 2011-09-17 05:16:05 +00:00
Arvid Norberg f5b5160169 add incoming_connection_alert for logging all successful incoming connections 2011-09-17 01:44:05 +00:00
Arvid Norberg c952f30820 slight improvement 2011-09-13 02:38:50 +00:00
Arvid Norberg ef496eb00c tracker retry fix 2011-09-13 02:23:18 +00:00
Arvid Norberg 460799d600 fix CPU busy loop issue in tracker announce logic 2011-09-12 05:21:16 +00:00
Arvid Norberg 469414d486 initial BitTorrent over SSL support 2011-09-12 03:51:49 +00:00
Arvid Norberg 675721d971 basic support for bittorrent connections over SSL 2011-09-10 05:52:07 +00:00
Arvid Norberg 92bcb9ebfd feature to encrypt peer connections with a secret AES-256 key stored in .torrent file 2011-09-05 05:50:41 +00:00
Arvid Norberg 97ca82984f ssl comment 2011-08-29 02:05:37 +00:00
Arvid Norberg 0a250c8f36 minor fixes 2011-08-29 00:59:42 +00:00
Arvid Norberg a286a6b4aa initial attempt at verifying the certificate of ssl trackers, by including the certificate in the .torrent file 2011-08-28 21:06:15 +00:00
Arvid Norberg 51c10cc76f on disk errors, only set upload-only for some errors. For all others, pause the torrent. Also fixed some release asserts 2011-08-22 01:37:56 +00:00
Arvid Norberg a2e24faa01 fix logging build with no encryption 2011-08-21 02:04:14 +00:00
Arvid Norberg fb06fd928b fixed issue where the next tier in a set of trackers would not be tried for the configuration of announce_to_all_trackers = true and announce_to_all_tiers = false 2011-08-17 23:01:35 +00:00
Arvid Norberg 1d40d7aad9 fixing up some asserts and verbose logging 2011-08-13 18:46:52 +00:00
Arvid Norberg f6554bad08 back ported feature to expose which pieces have been verified in seed_mode and exposes it in client_test (initially implemented in the libtorrent_aio branch) 2011-08-07 07:19:18 +00:00
Arvid Norberg 47cf5dd27c another piece deadline fix 2011-08-06 10:57:32 +00:00
Arvid Norberg 6a4708ef15 fix potential infinite loop in request_time_critical_pieces 2011-08-05 17:35:09 +00:00
Arvid Norberg 38b91cba40 added some comments to time-critical-pieces 2011-08-05 07:56:07 +00:00
Arvid Norberg 109e527568 added reset_piece_deadline function 2011-08-05 06:31:46 +00:00
Arvid Norberg fbd7d49d7e fix silly typo 2011-07-26 18:44:39 +00:00
Arvid Norberg 98157176c2 return a full bitmask for pieces when seeding, don't allocate empty allocations for 0-sized bitmasks 2011-07-26 01:52:51 +00:00
Arvid Norberg f722d2951a fix earlier time-critical-piece patch 2011-07-24 16:18:54 +00:00
Arvid Norberg 1b353ce5af fix beos build 2011-07-20 05:14:25 +00:00
Arvid Norberg bbb0461bf1 fix possible streaming issue when re-checking 2011-07-14 16:41:03 +00:00
Arvid Norberg 8d86c3bacc fixed release-asserts bulid 2011-07-05 04:05:12 +00:00
Arvid Norberg 67ad61fd0a fix invalid assert for resume data being loaded 2011-06-09 05:46:47 +00:00
Arvid Norberg 887423ef1e fix comment 2011-06-08 08:45:28 +00:00
Arvid Norberg b8614a36b3 fix resume state for paused when torrent was in graceful pause mode 2011-06-05 20:48:00 +00:00
Arvid Norberg ebba1f3c57 fix assert when pausing session while checking torrents 2011-06-03 08:40:13 +00:00
Arvid Norberg 0c35fde81c memory usage optimization in policy::peer 2011-06-01 06:47:57 +00:00
Arvid Norberg d855bcc815 fix potential crash when peers get disconnected when we announce pieces to them 2011-05-25 16:06:51 +00:00
Arvid Norberg 58d723012a support DHT scrape 2011-05-23 00:45:36 +00:00
Arvid Norberg 6e23b9f5a6 allow torrents to keep running when they encounter an error (such as disk full) but still report the error in the torrent's error string 2011-05-16 07:47:21 +00:00
Arvid Norberg fa61a1eada fixed typo in logic that connects web seeds 2011-05-14 03:03:11 +00:00
Arvid Norberg a73960aa5a support release asserts 2011-05-08 09:04:59 +00:00
Arvid Norberg c003e4f810 extend plugin API to allow hooking when peers are added to the peer list 2011-05-02 01:45:56 +00:00
Arvid Norberg 6f127dd07b fixed build with no deprecated functions 2011-05-01 19:28:13 +00:00
Arvid Norberg 83ba5afaa5 don't reject peer connections just because the peerlist is full 2011-05-01 18:37:49 +00:00
Arvid Norberg a9cc2101c6 fixed bug with setting and getting file priorities 2011-05-01 17:43:15 +00:00
Arvid Norberg e07e8b2f98 fixed connection limit to take web seeds into account as well 2011-04-30 20:05:23 +00:00
Arvid Norberg 0eb7505ad9 fix race condition when resolving the hostname of a web seed and removing it 2011-04-29 08:09:03 +00:00
Arvid Norberg 810ce884fb always post cache_flushed_alert when removing a torrent 2011-04-26 16:26:53 +00:00
Arvid Norberg 86d52bbe13 include info-hash in torrent_status and post event when disk cache is fully flushed when deleting a torrent 2011-04-19 08:21:09 +00:00
Arvid Norberg c0f2d5186f added option to replace trackers or add trackers when loading trackers from resume data 2011-04-10 21:33:29 +00:00
Arvid Norberg 3435da235d make is_upload_only() be accurate and deal with super seeding special case only where necessary. Fix pointless assert in invariant check 2011-04-09 23:57:56 +00:00
Arvid Norberg 087e4a3fdc fixed msvc build 2011-04-09 21:04:02 +00:00
Arvid Norberg 56ab4db2e7 fixed bug introduced when trying to fix a warning of shadowing variables 2011-04-02 19:54:30 +00:00
Arvid Norberg 113fa0ba3d fixed some shadowed variable warnings 2011-03-30 16:03:35 +00:00
Arvid Norberg 311f7f0e57 fixed typo 2011-03-27 08:05:57 +00:00
Arvid Norberg afc80b7e98 fix invalid assert that would trigger when allow_multiple_connections_per_ip was true 2011-03-27 06:07:23 +00:00
Arvid Norberg 65943e7ff7 fixed reconnect delay when leaving upload only mode 2011-03-25 05:14:14 +00:00
Arvid Norberg e9459b4df8 rss fixes 2011-03-23 02:46:22 +00:00
Arvid Norberg 0b25b87593 add a bunch more stats logged to session stats 2011-03-17 05:31:06 +00:00
Arvid Norberg f9f5e3138c fix suggest piece bug 2011-03-15 01:58:48 +00:00
Arvid Norberg 44fe8c160a fix no-exceptions build 2011-03-10 05:01:36 +00:00
Arvid Norberg 9ecfbd17e6 prioritize trackers after adding the initial tracker 2011-03-07 03:51:52 +00:00
Arvid Norberg b215c0c5e6 fix for incoming connections with torrents exempted from ip filter 2011-03-06 20:38:24 +00:00
Arvid Norberg 9d0b99480b fix ip filter exemption for trackers. also add a global setting to always exempt trackers 2011-03-04 06:55:39 +00:00
Arvid Norberg cefc97597d improve error reporting for save resume data for torrents with no metadata 2011-03-04 06:17:55 +00:00
Arvid Norberg 2bdfea4248 fix count for non-ip-filtered torrents 2011-03-03 03:57:47 +00:00
Arvid Norberg 0aff6803fb fix to IP filter exemptions 2011-03-02 17:37:10 +00:00
Arvid Norberg c15880be91 support having torrents that the IP filter doesn't apply to 2011-02-27 17:26:57 +00:00
Arvid Norberg ab3b82b8ee replaced std::rand() with custom random generator 2011-02-26 07:55:51 +00:00
Arvid Norberg 7288f77ec9 support saving metadata in resume file, enable it by default for magnet links 2011-02-26 07:48:05 +00:00
Arvid Norberg 56937edf56 cleaned up some exception handling and introduced macros like BOOST_TRY/BOOST_CATCH to make the optional exception handling nicer 2011-02-25 17:00:36 +00:00
Arvid Norberg ca106ca4e0 some warning fixes and cleanup 2011-02-24 04:25:35 +00:00
Arvid Norberg 141ada013f fixed a whole bunch of build warnings on gcc and msvc, along with some fixes discovered along the way 2011-02-21 05:24:41 +00:00
Arvid Norberg 28243bff31 fix typo 2011-02-20 23:23:55 +00:00
Arvid Norberg d67e935faf fix torrent constructor to allow a half-constructed torrent_info object for magnet links 2011-02-20 23:21:29 +00:00
Arvid Norberg 261e2e2726 deadline-piece picking fix 2011-02-19 21:24:32 +00:00
Arvid Norberg 513914050c fixed broadcast_lsd option. in trunk, redefined it to only broadcast every 8th packet 2011-02-16 10:16:52 +00:00
Arvid Norberg 94027cbea3 fix failed invariant check by pausing torrents that are just completing checking and are auto-managed earlier 2011-02-11 07:10:47 +00:00
Arvid Norberg a42d42fd11 CPU optimization for end-game piece picker 2011-02-09 02:56:00 +00:00
Arvid Norberg 06d8142c5b checking torrents don't count in auto manage logic 2011-02-04 06:55:05 +00:00
Arvid Norberg b842815710 added new session functions to more efficiently query torrent status 2011-02-01 09:48:28 +00:00
Arvid Norberg 3e4634097d mapped file resume data fixes 2011-01-31 00:47:09 +00:00
Arvid Norberg 19ae5440f2 make auto-manager kick in immediately when torrents are added and paused (reduces a 10 seconds delay) 2011-01-30 13:15:29 +00:00
Arvid Norberg 0c16163e71 fix build with no extensions support 2011-01-29 12:13:49 +00:00
Arvid Norberg 87dfdd4790 expanded plugin interface to support session state. improved re-request logic in ut_metadata extension. made max metadata size configurable 2011-01-29 10:37:21 +00:00
Arvid Norberg fccd38d355 fixed last-seen-complete bug in torrent::status 2011-01-25 08:20:22 +00:00
Arvid Norberg 9964b9cdb6 support a separate option to use proxies for peers or not 2011-01-24 03:24:28 +00:00
Arvid Norberg 2732a6bc47 move alert queue size limit into session_settings. make some alerts non-discardable (don't throw them out, even when the queue is full). Make session pause also pause all checking files. optimize rejecting incoming connections when the session is paused 2011-01-23 18:00:52 +00:00
Arvid Norberg ec6ef250bf fixed build warning 2011-01-22 19:47:11 +00:00
Arvid Norberg 1dc0e71716 added torrent_error_alert when a torrent encounters an error 2011-01-22 19:06:43 +00:00
Arvid Norberg 483870cd83 add runtime boundary checks for piece and file priority functions 2011-01-22 19:01:44 +00:00
Arvid Norberg c223291fb4 added support for RSS feeds 2011-01-18 03:41:54 +00:00
Arvid Norberg 7b4998213f graceful pause fix 2011-01-18 01:19:58 +00:00
Arvid Norberg 04086ad2f0 url download fix 2011-01-16 02:56:57 +00:00
Arvid Norberg e31aceeda4 added error category and error codes for HTTP errors 2011-01-16 02:54:59 +00:00
Arvid Norberg 97695d6c1d url download fix 2010-12-30 23:09:16 +00:00
Arvid Norberg 26053e4b76 support adding torrents by url to a .torrent file 2010-12-30 01:47:30 +00:00
Arvid Norberg dc9af94ee1 avoid self-assignment of tcp::endpoint (causes a memcpy with overlapping ranges) 2010-12-25 09:13:50 +00:00
Arvid Norberg 451c583023 more robust mechanism to determine external IP 2010-12-24 01:31:41 +00:00
Arvid Norberg 3616c2f720 fixed bug in seeding_outgoing_connections 2010-12-18 23:21:13 +00:00
Arvid Norberg a1aaf4010a don't boost more connections than allowed within the connection_speed. i.e. honor the connection_speed setting 2010-12-18 23:18:20 +00:00
Arvid Norberg f2416af718 added feature to turn off making outgoing connections for seeds 2010-12-17 03:20:36 +00:00
Arvid Norberg d554cf88e6 optimized swarm startup time (shaved off about 1-2 seconds) by introducing torrent connection boost on the first tracker response for a torrent 2010-12-17 03:10:56 +00:00
Arvid Norberg d301890d78 fixed edge case of pad file support 2010-12-13 16:47:12 +00:00
Arvid Norberg 1c99bf1de3 more network thread asserts to make sure only the network thread touches network-thread only data. Also delay starting the network thread until after the session constructor is done with its setup 2010-12-04 22:20:31 +00:00
Arvid Norberg e5f980d80d merged uTP branch into trunk (yay) 2010-11-29 01:33:05 +00:00
Arvid Norberg df1372e04b disable slight memory optimization because it appears to cause leaks 2010-11-28 02:34:24 +00:00
Arvid Norberg 2e871382d7 add debug configuration to debug shutdown-stall bugs / outstanding async operations 2010-11-28 01:47:30 +00:00
Arvid Norberg 27f84d1618 fixed minor error handling logging and assert issue in disk io thread 2010-11-26 20:38:31 +00:00
Arvid Norberg 894db973e8 optimized memory usage of torrent_info and file_storage 2010-11-24 23:49:22 +00:00
Arvid Norberg 7cd628e78d fix for unchoking optimistically unchoked peers 2010-11-23 20:36:27 +00:00
Arvid Norberg a05acc4bac support trackerid tracker extension 2010-11-18 05:51:52 +00:00
Arvid Norberg 8c404cc5c1 optimized memory usage of torrent_info 2010-11-15 05:10:36 +00:00
Arvid Norberg b3c0fa9f45 fixed some graceful pause mode edge cases 2010-11-07 09:39:35 +00:00
Arvid Norberg a2a2ac08a2 move queue_position and need_save_resume into torrent_status. optimized client_test to make fewer synchronous calls and pull more out of torrent_status 2010-11-06 18:04:07 +00:00
Arvid Norberg 0773644a4e fixed web seed test to work with invariant checks turned on and fixed error reporting when receiving an unexpected responce for http seeds 2010-10-30 19:45:50 +00:00
Arvid Norberg a76570b563 deprecated a bunch of query functions on torrent_handle in favor of using status() to get as much information as possible in fewer calls, and saving time on synchronizing with the main thread 2010-10-30 17:23:30 +00:00
Arvid Norberg e4de1fc8b1 graceful disconnect mode which finishes transactions before disconnecting peers 2010-10-30 08:36:18 +00:00
Arvid Norberg 0dbef9103a some reordering and asserts around web seed name resolution 2010-10-30 07:11:04 +00:00
Arvid Norberg 0d196d3c84 document the problem of the disk cache potentially modifying files after saving resume data. In trunk, add a flag to flush the cache in the same call as saving resume data 2010-10-29 02:21:43 +00:00
Arvid Norberg fc1b44b560 improve error reporting of lazy_bdecode to use error_code 2010-10-28 04:01:59 +00:00
Arvid Norberg d737dd051d added support for chunked encoding for web seeds 2010-10-27 06:39:18 +00:00
Arvid Norberg 4968192654 revert bad change to &downloaded= tracker announce semantics 2010-10-26 16:39:20 +00:00
Arvid Norberg eba657d8ad reports redundant downloads to tracker, fixed downloaded calculation to be more stable when not including redundant. Improved redundant data accounting to be more accurate 2010-10-18 00:10:33 +00:00
Arvid Norberg 643a49f022 optimized session/torrent startup time (shaved off about 2 seconds) 2010-10-17 18:36:37 +00:00
Arvid Norberg 3948ca3179 fixed bugs in http seed connection and added unit test for it 2010-10-17 16:15:32 +00:00
Arvid Norberg bd1f0726ce fix const issue 2010-10-12 09:01:51 +00:00
Arvid Norberg 7bd25edc9d generalize SSL support to also include web seeds (and in theory regular peers) 2010-10-12 08:57:43 +00:00
Arvid Norberg 72322dbc10 allow extending web seeds with extra headers and custom authorization schemese 2010-10-10 18:43:58 +00:00
Arvid Norberg 21cbd1fac4 deprecated setters for max connections, max half-open, upload and download rates and unchoke slots. These are now set through session_settings 2010-10-09 19:09:38 +00:00
Arvid Norberg 440abdfaf2 optimistic unchoke fix 2010-10-04 04:06:14 +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 8e4addf2c5 improved set_max_connections to immediately disconnect peers to match the new limit 2010-10-03 10:07:38 +00:00
Arvid Norberg a7c87e14dd added functions to query an individual peer's upload and download limit 2010-10-01 16:09:22 +00:00
Arvid Norberg a1567458ca seeding torrents should not send event=paused 2010-09-24 15:52:40 +00:00
Arvid Norberg fc0916d450 fixed logging build 2010-09-22 16:59:28 +00:00
Arvid Norberg 3fb9fcab9e full support for bep-21 (event=paused) 2010-09-06 04:02:15 +00:00
Arvid Norberg b6f92aa981 added initial support for share-mode 2010-09-05 16:01:36 +00:00
Arvid Norberg a8cc326df6 minor redundant connection fixes 2010-09-05 04:31:13 +00:00
Arvid Norberg a17f4e4e71 fixed bug where event=completed would not be sent if it violated the min-interval 2010-09-01 03:14:12 +00:00
Arvid Norberg fb8ebc53dd save resume data every 15 minutes no matter what 2010-08-25 06:38:04 +00:00
Arvid Norberg b747cdab8a merged all proxy settings into a single one 2010-08-23 06:27:18 +00:00
Arvid Norberg 2736a3b7ff fixed file checking bug 2010-08-23 05:51:12 +00:00
Arvid Norberg ad07883228 use the same logic to post resume data failed messages as to determine whether to do a full check or not 2010-08-19 16:10:31 +00:00
Arvid Norberg a85f1f5c61 improved logging 2010-08-18 17:14:40 +00:00
Arvid Norberg fd5f1bf80b improved SOCKS5 support 2010-08-03 09:08:37 +00:00
Arvid Norberg 0c7b5ab3da fix to tracker announce code 2010-07-17 23:32:17 +00:00
Arvid Norberg 0dd925ef14 fixed bug in network interface bind code from multi-home support patch 2010-07-17 18:32:06 +00:00
Arvid Norberg 64682072d8 save last_download,last_upload and last_scrape states 2010-07-17 07:25:28 +00:00
Arvid Norberg 1e70456f58 improved support for multi-homed clients 2010-07-17 07:13:14 +00:00
Arvid Norberg 4c6be42b74 added feature to not count downloaded bytes from web seeds in stats 2010-07-15 06:27:44 +00:00
Arvid Norberg aa25ed00c6 fix force-reannounce and tracker retry issue 2010-07-15 05:16:06 +00:00
Arvid Norberg 97afe3fca8 added option to set file priorities when adding torrents 2010-07-15 01:14:36 +00:00
Arvid Norberg 4e576f93fd removed the session mutex for improved performance 2010-07-14 04:16:38 +00:00
Arvid Norberg 3310198dae added upload and download activity timer stats for torrents 2010-07-08 19:29:38 +00:00
Arvid Norberg 06190d8920 fixed bug in web_peer_connection which could cause a hang when downloading from web servers 2010-06-22 18:09:04 +00:00
Arvid Norberg 19df3dbc2f fixed bug where local peer discovery and DHT wouldn't be announced to without trackers 2010-06-17 17:01:28 +00:00
Arvid Norberg e4ef0b853e don't reannounce on failure when shutting down 2010-05-23 21:27:04 +00:00
Arvid Norberg 39a166844e fixed issue where trackers wouldn't tried immediately when the previous one failed 2010-05-17 02:06:30 +00:00
Arvid Norberg ef0abcb359 move need_save_resume_data to when a piece is completed instead of when it's written to disk 2010-05-16 23:12:37 +00:00
Arvid Norberg 2e34bef04c spell correction 2010-05-06 23:56:54 +00:00
Arvid Norberg feaf4aa082 another attempt to fix tracker timer bug. Fixes issue where the tracker timer would be triggered repeatedly. Fixes bug where trackers loaded from resume data would get a fail limit of 3 (now they don't have a limit) 2010-05-03 08:24:30 +00:00
Arvid Norberg cc3c515458 more vs10 build fixes 2010-05-02 06:29:52 +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 2705859bb4 fixed bug where trackers wouldn't be retried if they failed 2010-04-27 18:22:59 +00:00
Arvid Norberg d1addf876a added some asserts 2010-04-24 19:24:27 +00:00
Arvid Norberg d7c30bc01b fixed potential issue where a piece could be checked twice 2010-04-22 01:53:09 +00:00
Arvid Norberg 50c334660d fixed typo in should_check_files() 2010-04-15 14:31:49 +00:00
Arvid Norberg 9a5f5562cb improve web seed connection handling 2010-04-14 06:22:00 +00:00
Arvid Norberg eeda665d06 report tracker errors in the tracker list 2010-04-13 04:37:39 +00:00
Arvid Norberg 384bfdec48 added anonymous mode to disable some particular features that might give away the user's and the client's identity 2010-04-13 04:30:34 +00:00
Arvid Norberg 8e3c5f45e3 initialize need save resume data to true to get the initial state (potentially allocated files) saved 2010-04-13 02:29:13 +00:00
Arvid Norberg b5efe1c92a added feature to ask a torrent if it needs to save its resume data or not 2010-04-12 00:36:31 +00:00
Arvid Norberg 4c4c7f832a fix for torrent announcing bug introduced when supporting fine grained control over sources torrents are announced to 2010-03-31 02:40:00 +00:00
Arvid Norberg 7e851818b1 support more fine-grained torrent states between which peer sources it announces too 2010-03-29 00:34:04 +00:00
Arvid Norberg 8724b89499 never finalize pad files 2010-03-21 18:19:59 +00:00
Arvid Norberg 126ba1fd34 fixed issue with sign extend from 24 bits to 32 bits 2010-03-21 18:15:04 +00:00
Arvid Norberg 6c42e759c3 removed incorrect assert 2010-03-21 18:09:34 +00:00
Arvid Norberg d1df643baf msvc8 build fix 2010-03-21 17:41:17 +00:00
Arvid Norberg 686fc1a1c7 windows fixes 2010-03-21 02:13:56 +00:00
Arvid Norberg 786172455b added save resume action to client_test. potential small optimization in resume data save function 2010-03-20 22:00:13 +00:00
Arvid Norberg 9435e84644 precaution: clear current_tracker in torrent::status() 2010-03-20 00:52:36 +00:00
Arvid Norberg 5224e0c340 complete_ago extension 2010-03-19 18:39:51 +00:00
Arvid Norberg 0db27ab9b6 fixed typo 2010-03-09 21:57:20 +00:00
Arvid Norberg a3bff512e1 added 'added' and 'completed' time to torrent_status 2010-03-09 03:21:35 +00:00
Arvid Norberg 723c59b6e8 fixed incorrect merge 2010-03-08 02:06:30 +00:00
Arvid Norberg d18b1612e4 more asserts to try to catch crash in disconnect_peers 2010-03-08 01:54:56 +00:00
Arvid Norberg d4854024db added flags to torrent::status() that can filter which values are calculated 2010-03-04 19:15:23 +00:00
Arvid Norberg fb06acc828 add default peer rate limit setting 2010-03-03 01:31:31 +00:00
Arvid Norberg e8523a3ad4 fixed issue with 0-sized torrents and verify_piece assert 2010-03-02 07:08:29 +00:00
Arvid Norberg aa5fc72fbf made tracker errors use error_code 2010-02-23 21:53:45 +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 59deff7a44 fixed issue with disk read cache not being cleared when removing torrents 2010-02-21 08:52:26 +00:00
Arvid Norberg 04d31cea6e support option to report redundant bytes or not to tracker as well as 'corrupt' argument 2010-02-18 06:45:07 +00:00
Arvid Norberg 9197081618 announce edge case fixes 2010-02-18 03:53:16 +00:00
Arvid Norberg 69e0249317 don't lookup country for local IPs 2010-02-15 07:52:32 +00:00
Arvid Norberg 08c8bfae29 more wide character and mingw fixes 2010-02-15 05:49:10 +00:00
Arvid Norberg c050b22d8f optimized memory usage for torrent objects 2010-02-14 01:39:55 +00:00
Arvid Norberg b12b3ff105 simplified web seed logic 2010-02-12 06:10:20 +00:00
Arvid Norberg 0816ff69c6 fixed streaming bug 2010-02-09 07:52:17 +00:00
Arvid Norberg d019833043 fixed finished_time bug 2010-02-09 04:42:32 +00:00
Arvid Norberg 7e343a9d6f add size logging to various classes 2010-02-08 04:51:34 +00:00
Arvid Norberg bb9426b97c post read_piece messages as a result of set_piece_deadline if a piece is found during checking 2010-02-06 07:31:43 +00:00
Arvid Norberg 088f4bf700 improved LSD performance and made the interval configurable 2010-02-05 08:23:17 +00:00
Arvid Norberg fc310ffde1 fixed add_piece() 2010-02-01 00:44:31 +00:00
Arvid Norberg 82b49b541e fixed crash when adding pieces to seeds 2010-01-27 06:06:57 +00:00