Commit Graph

3990 Commits

Author SHA1 Message Date
Arvid Norberg 34694bf91f log packet sizes at the normal logging level in uTP and also parse it out in parse_utp_log.py 2012-06-25 05:38:29 +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 24746bf54f release asserts fix 2012-06-24 22:55:48 +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 b728037ec3 deprecate delayed_ack setting 2012-06-23 06:04:46 +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 98737a2c4d disable uTP logging 2012-06-21 16:47:13 +00:00
Arvid Norberg 351e34f9d1 polish uTP slow start 2012-06-21 16:41:05 +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 1b2805118d make uTP less aggressive resetting cwnd when idle 2012-06-16 02:16:45 +00:00
Arvid Norberg b623d952e6 fix build without deprecated functions 2012-06-14 15:16:59 +00:00
Arvid Norberg e19f1d8efe fix msvc-8 debug build 2012-06-14 15:08:21 +00:00
Arvid Norberg f5e89fae4c fix msvc 2003 build issue 2012-06-14 05:38:56 +00:00
Arvid Norberg fa1c071c2f merged fixes from RC_0_16 2012-06-09 04:48:53 +00:00
Arvid Norberg 74ed648894 fixed typo in verbose logging code 2012-06-09 00:42:38 +00:00
Arvid Norberg e94963d085 fixed crash when providing corrupt resume data 2012-06-08 15:44:13 +00:00
Arvid Norberg dbf6b0a02c fix bandwidth limiter issue for incoming connections (not associated with a torrent) 2012-06-08 04:28:37 +00:00
Arvid Norberg 40284b2b99 update dht_sec definition 2012-06-07 16:29:20 +00:00
Arvid Norberg d6a53200a2 add a force-flag to cancel_request 2012-06-06 16:05:25 +00:00
Arvid Norberg 2be5513be7 and the typo in trunk as well 2012-06-05 04:20:10 +00:00
Arvid Norberg ccfaa0327e merged fix from 0.16 2012-06-05 03:35:15 +00:00
Arvid Norberg 985d96f237 possible fix to http downloader error in web_peer_connection.cpp 2012-06-05 03:12:36 +00:00
Arvid Norberg f49bc42cae added missing license headers 2012-06-04 06:30:45 +00:00
Arvid Norberg 49a1398fe5 update dht_sec specification and the dht code 2012-05-31 02:16:44 +00:00
Arvid Norberg f2c89cd770 merged fix from R_0_16 2012-05-27 18:17:51 +00:00
Arvid Norberg db500b674b merged boost-1.44 fix from RC_0_16 2012-05-26 16:21:15 +00:00
Arvid Norberg 1df53aa819 fixed reversed semantics of queue_up() and queue_down() 2012-05-23 15:18:30 +00:00
Arvid Norberg 24186f219a fix write cache flush issue 2012-05-23 14:59:56 +00:00
Arvid Norberg 306b467b94 fix add torrent by url 2012-05-19 21:33:42 +00:00
Arvid Norberg ddbae1da86 don't accept incoming uTP connections indefinitely 2012-05-19 20:39: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 19e7546968 fixed low_prio_disk support on linux 2012-05-15 14:13:35 +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 6a80638014 polish up ifreq support in enum_net_interrfaces 2012-05-13 18:48:10 +00:00
Arvid Norberg 36f7228001 support SIOCGIFCONF returning more interfaces than there's space in the supplied buffer 2012-05-13 04:43:22 +00:00
Arvid Norberg 2ca32646b9 fix build 2012-05-13 04:37:31 +00:00
Arvid Norberg 6737374c59 add aserts to make_time_critical() 2012-05-12 21:22:06 +00:00
Arvid Norberg 32cd6e10b9 SIOCGIFCONF fix 2012-05-12 16:15:36 +00:00
Arvid Norberg e74fc839e9 fixed time critical piece accounting in the request queue 2012-05-12 07:14:07 +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 94ae0e433b fixed semantics of rate_limit_utp to also ignore per-torrent limits 2012-05-06 07:09:49 +00:00
Arvid Norberg 0d7e3cb8c7 uTP timeout fix 2012-05-05 23:54:41 +00:00
Arvid Norberg 7f2f705b49 fixed piece sorting bug of deadline pieces 2012-05-05 19:46:02 +00:00
Arvid Norberg 2c2bd49a4e fix build with disk stats enabled 2012-05-05 19:36:04 +00:00
Arvid Norberg ca6bb805b4 fix possible integer overflow in dht 2012-05-05 18:52:16 +00:00
Arvid Norberg d88614387f fix possible crash 2012-05-04 04:48:06 +00:00
Arvid Norberg 56c05f9671 fix memory leak/bug in torrent::use_interface 2012-05-03 04:22:14 +00:00
Arvid Norberg f49d79b1f1 remove unused variable 2012-05-03 03:22:19 +00:00
Arvid Norberg bc34b13366 use random instead of rand() 2012-05-03 03:16:31 +00:00
Arvid Norberg 3a2916b578 initialize uninitialized members 2012-05-03 02:05:34 +00:00
Arvid Norberg 86b4c78871 fix unsigned comparison warnings 2012-05-03 01:51:56 +00:00
Arvid Norberg ada35c021a improved multiple bitfield and have_all/have_none unit test and fixed peer_connection accordingly 2012-05-02 18:03:12 +00:00
Arvid Norberg bf3751640a fix multiple bitfields issue 2012-05-02 01:08:25 +00:00
Arvid Norberg 9a3d77b400 delete duplicate code and fix metadata issue where piece refcounts would be counted up twice 2012-04-30 21:08:43 +00:00
Arvid Norberg 2da535c556 assert peers are not initialized twice 2012-04-30 20:15:11 +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 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 e73e96b04c fix build 2012-04-28 21:27:29 +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 5583ed407a fix some overflow and division by zero issues 2012-04-28 05:05:39 +00:00
Arvid Norberg 2016251b4f replace is_seed() with has_picker() 2012-04-27 04:36:12 +00:00
Arvid Norberg 6b40d5983b initialize connections immediately when metadata is received 2012-04-26 16:38:36 +00:00
Arvid Norberg 66ed31dd4b send redundant have messages, otherwise super seeding breaks (broke test_swarm) 2012-04-26 16:37:45 +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 4ae349f61f make sure we don't download pieces while the torrent is checking 2012-04-24 18:43:56 +00:00
Arvid Norberg 49f74be42f make super-seeding a bit more robust 2012-04-23 05:48:46 +00:00
Arvid Norberg ecb9b2b725 fixed possible crash when enabling multiple connections per IP 2012-04-21 03:49:27 +00:00
Arvid Norberg a699ab3768 fix release asserts issue 2012-04-20 17:03:00 +00:00
Arvid Norberg d2e91594b3 fixed typo breaking the build on vista+, in file pool's IO priority code 2012-04-18 03:52:34 +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 17747a0e15 change default of rate_limit_utp to true 2012-04-15 04:32:46 +00:00
Arvid Norberg 7f19e0d976 some more FreeBSD fixes 2012-04-15 02:20:23 +00:00
Arvid Norberg ba4c77e7e5 merged FreeBSD fix from RC_0_16 2012-04-15 00:48:44 +00:00
Arvid Norberg dafcf2c5ca fixed web seed performance issue whith pieces > 1 MiB 2012-04-14 23:36:16 +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 4a2648d936 remove duplicate assert 2012-04-13 16:20:30 +00:00
Arvid Norberg de07505464 more asserts in piece_picker to validate peer pointers 2012-04-12 17:10:22 +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 ccb1a880aa fixed unchoke logic when using web seeds 2012-04-12 00:02:35 +00:00
Arvid Norberg 85497a0563 merged compatibility fix from RC_0_16 2012-04-11 17:39:13 +00:00
Arvid Norberg 646f761c32 merged compatibility patch from RC_0_16 2012-04-11 16:35:16 +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 7667925a30 merged makefile fix from RC_0_16 2012-04-11 05:09:25 +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 bd046bbf4a merged change from RC_0_16 2012-04-11 02:58:32 +00:00
Arvid Norberg 333458f59d fix invalid assert in policy and fix minor cleanup issue 2012-04-10 05:28:48 +00:00
Arvid Norberg 816e56cc01 fix the previous fix 2012-04-09 03:10:48 +00:00
Arvid Norberg 8e93d59b2c fix bug when weeding out peers from peerlists 2012-04-09 03:04:57 +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 f7739a5699 only finalize files while downloading (not while checking) 2012-04-04 05:32:06 +00:00
Arvid Norberg 75f110f48e fix potential overflow issue in rate_limited_udp_socket (only if the computer locks up for a long time or you're debugging) 2012-04-04 04:24:29 +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 46683f59f8 fix division by zero 2012-04-02 05:30:15 +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 db65ec2fd3 fix shutdown delay issue 2012-04-01 00:42:04 +00:00
Arvid Norberg c50e8fa628 fix bug 2012-03-31 07:21:58 +00:00
Arvid Norberg 697fa4911b add asserts for peers to be destructed in the network thread 2012-03-30 04:29:54 +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 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 289921e276 log hash of data on incoming pieces 2012-03-26 15:24:14 +00:00
Arvid Norberg 8549840d5a add debug option to log hash failures 2012-03-26 03:57:15 +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 bad2857cbe fix symbol export error on windows 2012-03-23 08:22:52 +00:00
Arvid Norberg 00aa80a5fd fix issue in web_peer_connection when the combined header size + chunk headers exceeds 1 kB 2012-03-23 04:35:35 +00:00
Arvid Norberg 5fa416255f fixed typo in utf8.cpp 2012-03-22 15:51:56 +00:00
Arvid Norberg bc851d317f work on test_web_seed 2012-03-22 01:48:17 +00:00
Arvid Norberg 68cefe7d89 fixed bug in magnet link parser, and improved unit test 2012-03-21 16:27:50 +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 f4d0d90f20 fixed typo 2012-03-19 00:30:02 +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 8213814102 DHT fix 2012-03-17 19:27:57 +00:00
Arvid Norberg af09935b87 some windows path fixes 2012-03-17 19:06:11 +00:00
Arvid Norberg 8a4685e83b fixed some typos 2012-03-17 17:48:22 +00:00
Arvid Norberg 2ec6a53c71 fix openssl build 2012-03-16 07:45:27 +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 250f1645b3 fix windows directory separator issue on windows with UNC paths 2012-03-13 04:50:12 +00:00
Arvid Norberg fc4f4a9753 fix non-unc build 2012-03-13 04:44:40 +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 d8b221c795 improve session stats logging and parsing 2012-03-11 05:35:29 +00:00
Arvid Norberg 671694959f log peers that have a full send buffer 2012-03-09 17:03:10 +00:00
Arvid Norberg 3442534085 fixed no-deprecate build 2012-03-09 06:34:23 +00:00
Arvid Norberg b58a96d76b log stats of incoming piece requests 2012-03-09 06:24:01 +00:00
Arvid Norberg e08718428e revert mistake 2012-03-09 02:18:46 +00:00
Arvid Norberg 9288f08826 fix stats logging precision 2012-03-09 01:22:45 +00:00
Arvid Norberg ce3405c0ce don't prevent sending bytes just because the peer was waiting on the disk 2012-03-09 01:19:30 +00:00
Arvid Norberg 97b4012685 and actually fix it 2012-03-09 00:23:08 +00:00
Arvid Norberg f49c6d2d52 fix non UNC paths build 2012-03-09 00:14:30 +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 02b0e0ead3 add some more stats logging 2012-03-06 10:34:18 +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 5897235f51 fix recent simplification of connection attempt distribution 2012-03-06 07:34:02 +00:00