Commit Graph

2136 Commits

Author SHA1 Message Date
Arvid Norberg 7c7b927e07 improve connection distribution fairness between torrents 2012-07-04 20:41:22 +00:00
Arvid Norberg 1c2b7471cb fix one more issue with end-game mode when some pieces that are no longer selected for download have been downloaded 2012-07-02 03:27:32 +00:00
Arvid Norberg 7332f6b219 reduce some compiler warnings 2012-07-02 01:34:05 +00:00
Arvid Norberg bd4f173bc5 fix uTP edge case where udp socket buffer fills up 2012-07-01 18:44:46 +00:00
Arvid Norberg 96aa1f162b fix for udp_socket observers and some dht warning fixes 2012-06-30 15:30:38 +00:00
Arvid Norberg f403b5f3c8 fix move_storage bugs 2012-06-29 23:35:11 +00:00
Arvid Norberg df10b45ecc fix unnecessary dependency on boost.date_time that came from building asio as separate compilation 2012-06-28 16:59:57 +00:00
Arvid Norberg 4a2c799a1a always use SO_REUSEADDR and deprecate the flag to turn it on 2012-06-28 06:51:18 +00:00
Arvid Norberg 4ddbe44a0d fix bug in the udp socket observer use for DHT and add debug facilily for the observers 2012-06-25 03:31:11 +00:00
Arvid Norberg 60f501ca5d avoid incorrect assert in the DHT 2012-06-24 22:53:15 +00:00
Arvid Norberg 142786d6ed fix end-game mode when filtering pieces (i.e. deselecting files for download) 2012-06-24 20:57:31 +00:00
Arvid Norberg 3f1bfb5477 fix linux build and make use of the system INT64_MAX define 2012-06-24 19:50:49 +00:00
Arvid Norberg 7351f68b98 fix build with verbose logging and missing INT64_MAX on msvc 2012-06-23 05:46:51 +00:00
Arvid Norberg d73bbf5053 clean up the udp socket and its consumers by adding an observer interface and have the udp tracker, utp socket manager and dht tracker subscribe to it instead of going through the session_impl. This probably improves performance a tiny bit but primarily improves modularization and testability 2012-06-22 04:21:20 +00:00
Arvid Norberg 14c9d8d7e9 fix build issue 2012-06-22 02:33:07 +00:00
Arvid Norberg 2b9b2a188a remove uTP delayed ack and instead send acks when the udp socket has been drained. simplify the udp socket to use null_buffers and allocate less memory for buffers. this also eliminated the race condition when resizing the udp socket receive buffer which greatly simplified it 2012-06-21 15:05:57 +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 1db4fae595 merged patch from RC_0_16 2012-06-10 16:20:00 +00:00
Arvid Norberg fa1c071c2f merged fixes from RC_0_16 2012-06-09 04:48:53 +00:00
Arvid Norberg d6a53200a2 add a force-flag to cancel_request 2012-06-06 16:05:25 +00:00
Arvid Norberg 42a5185f24 merged fix from RC_0_16 2012-06-05 05:55:40 +00:00
Arvid Norberg f49bc42cae added missing license headers 2012-06-04 06:30:45 +00:00
Arvid Norberg b022772b4d merged fix from RC_0_16 2012-06-03 05:13:08 +00:00
Arvid Norberg d09e958166 add set_dht_settings to python bindings and fix include in bitfield.hpp 2012-05-28 17:54:20 +00:00
Arvid Norberg 314e08d90b added missing include file to makefile 2012-05-25 20:26:55 +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 cc7ff1606c add unit test for seed optimization in piece picker and make it reliable in the presence of dont-have messages 2012-05-14 04:48:23 +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 511b9137b4 fix unused arguments warnings 2012-05-06 00:40:31 +00:00
Arvid Norberg 2c2bd49a4e fix build with disk stats enabled 2012-05-05 19:36:04 +00:00
Arvid Norberg cf49986e1a one more uninitialized member 2012-05-03 03:56:40 +00:00
Arvid Norberg 3a2916b578 initialize uninitialized members 2012-05-03 02:05:34 +00:00
Arvid Norberg 10b64a7761 add all_set() function on bitfield and automatically call inc_refcount_all or dec_refcount_all if all bits are set in a bitfield 2012-05-02 18:55:58 +00:00
Arvid Norberg bf3751640a fix multiple bitfields issue 2012-05-02 01:08:25 +00:00
Arvid Norberg 93b1a3478f added missing file 2012-05-01 05:45:05 +00:00
Arvid Norberg cec9a16cc1 back-ported observer for set_external_ip for DHT 2012-04-30 06:30:35 +00:00
Arvid Norberg 918dce1341 back-ported part of the alert_dispatcher patch for the DHT 2012-04-30 05:39:35 +00:00
Arvid Norberg 1c60ae4064 canonicalize paths when using UNC paths 2012-04-28 21:13:55 +00:00
Arvid Norberg c80e156120 expose print_backtrace in debug builds for the tests 2012-04-28 21:10:15 +00:00
Arvid Norberg f031bfa176 make it simpler to disable UNC paths 2012-04-28 16:23:16 +00:00
Arvid Norberg 2aadba290b fix dynamic link build 2012-04-27 17:19:51 +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 a7f1d7df91 make torrent::have_piece support magnet links 2012-04-21 16:58:21 +00:00
Arvid Norberg b03e99ab40 fix DLL export issue on windows 2012-04-15 04:00:58 +00:00
Arvid Norberg 7f19e0d976 some more FreeBSD fixes 2012-04-15 02:20:23 +00:00
Arvid Norberg 7cf7243021 another FreeBSD fix 2012-04-15 01:02:55 +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 646f761c32 merged compatibility patch from RC_0_16 2012-04-11 16:35:16 +00:00
Arvid Norberg de7bad7774 merged makefile fix from RC_0_16 2012-04-11 06:37:10 +00:00
Arvid Norberg 9f0e892228 merged ban_web_seed setting patch from RC_0_16 2012-04-11 03:25:09 +00:00
Arvid Norberg 548bace889 merged changes from RC_0_16 2012-04-08 16:03:39 +00:00
Arvid Norberg a5a9006014 merged fixes from RC_0_16 into trunk 2012-04-07 00:35:25 +00:00
Arvid Norberg f714732eee merged fix from RC_0_16 to support older openssl 2012-04-06 04:11:04 +00:00
Arvid Norberg 9024209d51 merged set_settings race condition fix into trunk 2012-04-06 03:02:50 +00:00
Arvid Norberg 6acde24799 merged SSL fix from RC_0_16 2012-04-05 04:17:19 +00:00
Arvid Norberg 8135a6e3a2 fix piece_picker::max_pieces. it's still restricted by piece_block 2012-04-04 04:23:28 +00:00
Arvid Norberg 21b51afd5f merge windows fix from RC_0_16 2012-04-02 03:32:26 +00:00
Arvid Norberg 6fc580e0cb support torrents with more than 262000 pieces 2012-04-01 19:14:30 +00:00
Arvid Norberg b29b2314b2 improved shutdown delay debugging 2012-04-01 00:42:31 +00:00
Arvid Norberg 40db19ff7d fix build with release-asserts 2012-03-30 05:27:06 +00:00
Arvid Norberg 418c1e8190 make tracker back-off configurable 2012-03-29 03:51:22 +00:00
Arvid Norberg a2cb2c9bca make the file_storage interface a bit more sane, and fixed typos in make_torrent documentation 2012-03-26 16:07:55 +00:00
Arvid Norberg c8f7b79e2b fix uTP bug 2012-03-24 16:08:49 +00:00
Arvid Norberg 4d60adcaa9 retry failed trackers a little bit sooner. make the exponential back-off not quite grow as fast 2012-03-24 15:15:36 +00:00
Arvid Norberg 6fcc469aef support banning web seeds that send corrupt data 2012-03-24 01:29:31 +00:00
Arvid Norberg cafbf2ca1d more work on minimizing shared object export symbol table 2012-03-20 03:53:07 +00:00
Arvid Norberg 619c375528 don't inline large functions 2012-03-19 06:06:52 +00:00
Arvid Norberg 62fef3cba0 fixed build configuration test in session.cpp 2012-03-19 02:43:06 +00:00
Arvid Norberg 9b8ce67302 fixed bug in external IP voting 2012-03-19 00:31:21 +00:00
Arvid Norberg a2521bd23c fix a bunch of issues to properly support dynamic linking of libtorrent with visibility=hidden. Still requires a small patch to boost 2012-03-18 23:31:04 +00:00
Arvid Norberg 7b1a441aeb attempt to make shared library builds to work with visibility=hidden 2012-03-15 06:08:08 +00:00
Arvid Norberg 7f2d6325df rely on boost configs symbol export macro, make sure boost thinks it is built as a shared library when linked into a shared library 2012-03-13 15:35:35 +00:00
Arvid Norberg df2e891a2d set uTP target delay to 100 ms. expose setting for packet loss multiplier for cwnd 2012-03-11 05:46:15 +00:00
Arvid Norberg b58a96d76b log stats of incoming piece requests 2012-03-09 06:24:01 +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 9bd40e950b add send_buffer_low_watermark in an attempt to improve seed ramp-up time 2012-03-07 02:59:50 +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 8f3c3de1e2 add incoming requests to stats logging 2012-03-05 10:05:20 +00:00
Arvid Norberg e2d46b5563 add performance warning when hitting the file descriptor limit. Log the total number of peers, including half-open TCP connections 2012-03-04 11:18:27 +00:00
Arvid Norberg 5a8037dba2 added performance alert for address-in-use errors 2012-03-03 02:29:37 +00:00
Arvid Norberg ccf9c5a0fd log more stats 2012-03-02 08:52:54 +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 6144280fde fix xml parser issue and the xml unit test 2012-02-27 07:02:11 +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 3ef9190b01 fix export for settings_map symbol for python binding 2012-02-25 08:02:52 +00:00
Arvid Norberg 14287b8a7b use UNC paths on windows by default 2012-02-23 06:46:23 +00:00
Arvid Norberg 6c395cedee fix build for boost < 1.47 2012-02-23 04:32:50 +00:00
Arvid Norberg 28e74a79b7 RSS fixes (exponential back-off), handling feed errors with retries 2012-02-22 08:26:42 +00:00
Arvid Norberg eef0f03343 fixed session logger destruction order issue 2012-02-21 06:47:08 +00:00
Arvid Norberg 8bb6635c94 improved rss unit test and fixed one incompatibility. added feature to save which feed items have been added, in order to not re-add them 2012-02-21 03:14:54 +00:00
Arvid Norberg 75fce84ce4 added unit test for RSS feeds and fixed a parsing bug 2012-02-20 07:51:36 +00:00
Arvid Norberg 67b12dfb90 fixed off-by-one read error in xml-parser, and removed some unnecessary casts in the unit test 2012-02-18 09:54:49 +00:00
Arvid Norberg 5a23d04143 fix some clang warnings 2012-02-18 08:23:48 +00:00
Arvid Norberg 47bd771fd4 fixed missing TORRENT_EXPORT 2012-02-16 07:26:45 +00:00
Arvid Norberg 47781bf2c5 cleanup, fix warnings 2012-02-15 10:57:49 +00:00
Arvid Norberg 3a9d7fc66d fix typo and document custom alerts 2012-02-12 10:11:14 +00:00
Arvid Norberg c384d00dbf make bdecoder more robust when encountering errors (leave the resulting tree consistent) 2012-02-10 04:19:11 +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 8b459a27bd remove 'encrypted peer connections' feature (ssl is a better idea) 2012-02-09 06:23:58 +00:00
Arvid Norberg 94a1cae4a3 don't disconnect peers that don't have metadata 2012-02-07 09:18:07 +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 5df78592db fix some config defines 2012-02-01 06:24:30 +00:00
Arvid Norberg 639039a94e attempt to fix TOS setting (IP type of service) 2012-01-29 20:59:20 +00:00
Arvid Norberg 89ee8463c6 properly authenticate web seeds and trackers over SSL 2012-01-29 02:27:55 +00:00
Arvid Norberg f13a91d8a8 support backtraces on windows 2012-01-26 10:33:39 +00:00
Arvid Norberg 818620a5a8 fixed release build 2012-01-23 05:14:12 +00:00
Arvid Norberg 1a32205944 graceful shutdown of uTP sockets 2012-01-23 05:02:12 +00:00
Arvid Norberg 4706807300 fix issue with outgoing connections not being tied to a torrent 2012-01-21 21:29:22 +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 5c8d476022 fix http_connection timeout (improves shutdown delay) 2012-01-21 08:18:41 +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 ef61b32d9e fix unit test build on windows 2012-01-19 08:01:38 +00:00
Arvid Norberg 0159b66756 fix iconv signature on mingw 2012-01-19 07:54:23 +00:00
Arvid Norberg 9df6e5ee7e provide defines for PRIu32 when missing 2012-01-19 06:56:36 +00:00
Arvid Norberg 9c24b7e23f provide definitions for PRIu64 if missing 2012-01-19 06:28:29 +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 cbe02221cd replace calls to isspace() with is_space() to avoid asserts in the CRT 2012-01-13 12:06:50 +00:00
Arvid Norberg 61e8d3dd49 improved peer exchange performance by sharing incoming connections which advertize listen port 2012-01-04 20:49:54 +00:00
Arvid Norberg 315ff0bb83 exporting min_memory_usage() and high_performance_seed() functions from DLL 2012-01-04 12:36:58 +00:00
Arvid Norberg 152cee19f1 add compile-time feature to enable logging of all peer requests 2011-12-29 12:15:29 +00:00
Arvid Norberg f60ea6a4a9 support queue positions greater than 32768 2011-12-23 19:30:23 +00:00
Arvid Norberg d7103ab5b0 updated client_test to use post_torrent_updates() 2011-12-23 05:36:13 +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 78f16cedd9 deprecate torrent::set_ratio 2011-12-18 07:18:42 +00:00
Arvid Norberg 8e8f798905 get rid of read-recurse hack 2011-11-30 20:07:18 +00:00
Arvid Norberg c4dded04ca fixed small memory leak in DHT 2011-11-28 11:11:29 +00:00
Arvid Norberg 614b279acb fix assert 2011-11-27 05:46:52 +00:00
Arvid Norberg f979f7a77b make receive_buffer() not return a range exceeding the actual buffer 2011-11-27 01:08:28 +00:00
Arvid Norberg c3695d9fbb add have_piece function to torrent_handle 2011-11-27 00:01:13 +00:00
Arvid Norberg c279870516 add web seed support for torrents with pad files 2011-11-26 20:48:31 +00:00
Arvid Norberg faf11fc27d web seed fix 2011-11-25 10:56:33 +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 c40d072ab1 increase default cache expiry to 5 minutes 2011-11-16 09:49:00 +00:00
Arvid Norberg 85ef2528c6 serve cache hits without a round-trip to the disk thread for improved seeding performance 2011-11-16 07:09:12 +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 51c32fefbc workaround an old asio bug on 64 bit machines 2011-11-13 09:25:50 +00:00
Arvid Norberg 96adfc2ad5 windows build fixes 2011-11-13 05:51:03 +00:00
Arvid Norberg 95769f3901 fix windows build 2011-11-13 05:04:05 +00:00
Arvid Norberg 344e6c8a3b align error codes 2011-11-13 03:35:03 +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 261648d60a fix test_buffer build when linking dynamically 2011-11-02 09:31:32 +00:00