Commit Graph

4049 Commits

Author SHA1 Message Date
Arvid Norberg daa957454d merged ut_metadata fix from RC_0_16 2012-08-14 16:06:32 +00:00
Arvid Norberg b3e8d86e0c proper web seed stats fix 2012-08-14 05:23:20 +00:00
Arvid Norberg 9bca8ec3f2 fix stats accounting when web seeds include a body 2012-08-14 03:20:53 +00:00
Arvid Norberg cee9b6d5cb PMTUD improvements 2012-08-13 16:49:28 +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 532e514c00 improve torrent file creator optimizer a bit 2012-08-12 21:18:38 +00:00
Arvid Norberg 3d227a2acc optimized the torrent creator optimizer to scale significantly better with more files 2012-08-12 19:46:24 +00:00
Arvid Norberg 1f32bdab5a fix crash when creating torrents and optimizing file order with pad files 2012-08-12 19:16:20 +00:00
Arvid Norberg a84c5e0e85 disable support for large MTUs in uTP until it is more reliable 2012-08-12 15:54:59 +00:00
Arvid Norberg 9a11c44984 metadata extension fix 2012-08-09 22:30:45 +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 ee3b006c85 fix build with i2p disabled 2012-07-31 16:53:37 +00:00
Arvid Norberg 1b69d6813e merged fix from RC_0_16 2012-07-27 16:35:31 +00:00
Arvid Norberg 135a14ad75 minor uTP fix 2012-07-25 16:14:21 +00:00
Arvid Norberg 8ded061c9e fixed windows ssl shared library build 2012-07-23 16:10:34 +00:00
Arvid Norberg a66332d66f fix DHT logging build 2012-07-23 13:37:23 +00:00
Arvid Norberg ecfb59d1e1 fix udp_socket bug 2012-07-23 05:36:35 +00:00
Arvid Norberg 6aabc14e19 fix memory leak in utp_socket_impl 2012-07-21 14:33:01 +00:00
Arvid Norberg 479f5061b4 asio include fix 2012-07-19 15:41:32 +00:00
Arvid Norberg 1434ed57d9 merged metadata extension improvement from libtorrent_aio 2012-07-18 03:27:50 +00:00
Arvid Norberg 97572cb861 fix connection queue timeout logic 2012-07-16 13:59:26 +00:00
Arvid Norberg 0657690b1c attempt at fixing shutdown hang caused by connection_queue 2012-07-15 23:22:23 +00:00
Arvid Norberg db33922684 merged shutdown delay fix from libtorrent_aio 2012-07-15 02:30:13 +00:00
Arvid Norberg 9f4697a11b merged udp_socket fix from libtorrent_aio 2012-07-15 02:16:02 +00:00
Arvid Norberg 8554f97486 revert shutdown hang fix 2012-07-15 01:36:56 +00:00
Arvid Norberg 377bba90fb merged connection_queue_fix from libtorrent_aio 2012-07-14 22:49:29 +00:00
Arvid Norberg 2a08bb5feb fix shutdown hang issue in connection queue 2012-07-14 20:37:31 +00:00
Arvid Norberg a62a2a5b6c merged linux permission issue fix from RC_0_16 2012-07-13 04:04:56 +00:00
Arvid Norberg 3d7dc768da use random peer IDs in anonymous mode 2012-07-08 22:47:25 +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 7c7b927e07 improve connection distribution fairness between torrents 2012-07-04 20:41:22 +00:00
Arvid Norberg bdada3766a peer disconnect fix 2012-07-04 16:13:20 +00:00
Arvid Norberg 796b1b98c3 attempt to make separate compilation of boost.asio work on windows, mac and linux without pulling in a dependency on boost.date_time. This is a hack until boost.asio has an option to disable use of boost.date_time 2012-07-04 16:05:31 +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 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 7d489eb2bc boost 1.49 support with custom separate compilation of asio on windows 2012-06-30 15:29:17 +00:00
Arvid Norberg 4860805c81 fix logging build 2012-06-30 15:05:31 +00:00
Arvid Norberg 2f26d62f1c one more utp fix 2012-06-30 08:06:20 +00:00
Arvid Norberg f403b5f3c8 fix move_storage bugs 2012-06-29 23:35:11 +00:00
Arvid Norberg 8fffb4bb35 pmtud fix 2012-06-29 19:40:27 +00:00
Arvid Norberg d4d53e6a5a fix windows build 2012-06-29 05:41:30 +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 a583c2fe88 fix uTP NAGLE algorithm some more (seems stable now) 2012-06-28 03:53:52 +00:00
Arvid Norberg a5985f2758 minor fix 2012-06-27 01:13:50 +00:00
Arvid Norberg 1419b5c14c some more asserts in utp 2012-06-26 23:52:48 +00:00
Arvid Norberg 5797430b4a fix invalid NAGLE assert 2012-06-26 04:10:53 +00:00
Arvid Norberg c6b368a763 add invariant check to utp_socket_impl 2012-06-26 03:42:01 +00:00
Arvid Norberg aeea1cd2af fix to new NAGLE implementation 2012-06-26 03:41:04 +00:00
Arvid Norberg f2d9472842 move tracker default interval logic to make sense 2012-06-26 03:35:31 +00:00
Arvid Norberg a4091ff1a1 add comment 2012-06-26 03:34:42 +00:00
Arvid Norberg 671206838a fixed compiler warning 2012-06-25 15:34:56 +00:00
Arvid Norberg 57769bab11 fix some compiler warnings 2012-06-25 14:17:51 +00:00
Arvid Norberg e51e953cb9 fix nagle implementation in uTP 2012-06-25 06:27:37 +00:00
Arvid Norberg dad544dfd0 tighten up the cwnd saturating timeout rule for allowing increasing cwnd 2012-06-25 06:05:28 +00:00
Arvid Norberg 6be3357759 improve some uTP logging 2012-06-25 05:57:59 +00:00
Arvid Norberg c24b372191 never set cwnd to less than mtu on time-out 2012-06-25 05:39:36 +00:00
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