Commit Graph

4192 Commits

Author SHA1 Message Date
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
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
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 769c985e78 report ENOFILE to peer connection disconnect function when running out of file descriptors 2012-03-04 10:54:55 +00:00
Arvid Norberg 0d29dbbfbe don't add the UNC path prefix to network paths 2012-03-04 10:54:10 +00:00
Arvid Norberg 92fba05040 attempt to fix unc paths on windows 2012-03-03 21:51:15 +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 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 9cd5c6cc2f don't require BOOST_ASIO_ENABLE_CANCELIO on non-windows platforms 2012-03-01 08:27:22 +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 886364118c tweak connection points in deficit round-robin of outgoing connection attempts balancing between torrents 2012-02-25 10:57:36 +00:00
Arvid Norberg a849d73602 add runtime check for size < 0 to file_storage::add_file 2012-02-25 10:49:50 +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 f221b3d931 export session_settings_map and fix rss issue in client_test 2012-02-24 16:11:31 +00:00
Arvid Norberg ad779a569c fix windows build 2012-02-23 09:13:18 +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 f1365a7a52 fail properly if NtSetFileInformation cannot be loaded 2012-02-22 09:29:07 +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 6627ae86d6 fixed integer overflow in file_storage::map_file 2012-02-21 07:43:25 +00:00
Arvid Norberg e071bf113e fixed connection_queue invariant check issue on shutdown 2012-02-21 06:47:48 +00:00
Arvid Norberg bcf1d6eee8 fixed upload_mode assert 2012-02-21 06:46:36 +00:00
Arvid Norberg 5e4b8f785d add missing state update calls when queue position changes 2012-02-21 05:59:38 +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 d24a2e30fc rss feed fixes 2012-02-20 23:44:34 +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 079a8f8314 ignore failures when asking for local address of sockets and parsing a string into an IP address 2012-02-20 04:13:39 +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 92992c7eac fix upnp snprintf issue 2012-02-18 20:35:06 +00:00
Arvid Norberg 5a23d04143 fix some clang warnings 2012-02-18 08:23:48 +00:00
Arvid Norberg cde80acbde fixed UDP socket error handling on windows 2012-02-17 18:23:47 +00:00
Arvid Norberg d9db8e20f5 fix another pad file corner case 2012-02-17 07:19:54 +00:00
Arvid Norberg 1244ae8894 remove left-over debug printf from bdecoder 2012-02-17 06:52:08 +00:00
Arvid Norberg b1c59f37c0 fix assert_fail export 2012-02-16 18:24:53 +00:00
Arvid Norberg a9ee05bb25 export assert_fail 2012-02-16 10:38:43 +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 d7d4da5b80 fix the fix 2012-02-16 08:51:14 +00:00
Arvid Norberg 71c7956645 fix warnings 2012-02-16 06:12:36 +00:00
Arvid Norberg 91df5d1894 fix out-of-bounds memory access in to_string 2012-02-16 03:54:56 +00:00
Arvid Norberg 35ea214124 fix off-by-one bug in DHT node-ID calculation 2012-02-16 03:51:39 +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 a31134d4a4 fix some invariant check failures in metadata transfer edge cases 2012-02-10 07:31:40 +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 be339c244f fix invalid invariant check 2012-02-09 07:46:23 +00:00
Arvid Norberg 98b3e6eb74 cleanup 2012-02-09 06:56:16 +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 c82695ef8e fix negative file size to add_file 2012-02-07 03:45:13 +00:00
Arvid Norberg 8d7940d47e clean up string constness issue 2012-01-29 23:05:07 +00:00
Arvid Norberg c77ca19140 fix shutdown issue when building without SSL 2012-01-29 23:04:22 +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 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 f13a91d8a8 support backtraces on windows 2012-01-26 10:33:39 +00:00
Arvid Norberg 6e9ef9edab fix connection asserts 2012-01-25 07:58: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 dce8b3cc1a improve seed rank calculation 2012-01-23 01:57:40 +00:00
Arvid Norberg 5fc9224072 remove invalid assert 2012-01-22 21:24:51 +00:00
Arvid Norberg f23607bc05 make sparse_end support unbuffered files 2012-01-21 23:24:24 +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 a478fcaf10 fix bug causing shutdown delays 2012-01-20 08:04:10 +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 88c5b35826 add asio debugging to the async shutdown of ssl sockets 2012-01-20 04:41:54 +00:00
Arvid Norberg 88012b6a1c log uTP states to stats log 2012-01-17 03:11:16 +00:00
Arvid Norberg d52eb9ed19 fixed release asserts issue in kademlia code 2012-01-16 22:48:43 +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 dd2db79896 fix overflow bug in progress_ppm field 2012-01-09 14:13:24 +00:00
Arvid Norberg 23c477142e merged integer overflow fix from aio branch 2012-01-05 21:11:55 +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 2967468a8b fixed overflow in assert 2011-12-30 21:32:27 +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 fcab6a257f fix post_torrent_update issue for checking torrents 2011-12-25 12:16:04 +00:00
Arvid Norberg 91b5fde1e2 don't recalculate auto managed files when session is paused 2011-12-24 20:15:22 +00:00
Arvid Norberg ec5555940b fix integer overflow assert 2011-12-24 20:13:51 +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 c2b8e869f1 one more recalculate_auto_manage postponing fix 2011-12-23 20:02:59 +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 d7103ab5b0 updated client_test to use post_torrent_updates() 2011-12-23 05:36:13 +00:00
Arvid Norberg 2877903e75 replaced std::map with boost::unordered_map for torrent list, to scale better with many torrents 2011-12-21 21:21:19 +00:00
Arvid Norberg e47a1eb5b2 fix state subscriptions for checking torrents 2011-12-19 05:55:38 +00:00
Arvid Norberg 7f3aac3959 fix issue with unchoke_slots_limit not preserving its value correctly 2011-12-19 05:53:11 +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 0370fb7632 don't filter local peers received from a non-local tracker 2011-12-12 07:03:51 +00:00
Arvid Norberg 7ee42393a5 simplified DHT parsing a bit 2011-12-01 04:01:36 +00:00
Arvid Norberg 8e8f798905 get rid of read-recurse hack 2011-11-30 20:07:18 +00:00
Arvid Norberg cc6bc5ba17 back-out attempt to make disk cache hits faster. it corrupts data 2011-11-28 17:51:14 +00:00
Arvid Norberg a3f0c04090 fix windows web seed path divider issue with recent web seeding feature 2011-11-28 11:22:51 +00:00
Arvid Norberg c4dded04ca fixed small memory leak in DHT 2011-11-28 11:11:29 +00:00
Arvid Norberg 27b25017f2 fix bug in policy::erase_peers and simplified the logic some 2011-11-28 09:55:00 +00:00
Arvid Norberg 47e81ff90b fixed uninitialized counter for stats logging 2011-11-28 01:27:55 +00:00
Arvid Norberg 413c04abcf fixed windows network path recognition issue 2011-11-27 10:23:50 +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 ce90e17e2b web seeding fix for multi file torrents with a single file 2011-11-25 21:05:39 +00:00
Arvid Norberg faf11fc27d web seed fix 2011-11-25 10:56:33 +00:00
Arvid Norberg 6aba061cb8 fix pad file bug in create_torrent and amend docs about pad files 2011-11-25 09:45:28 +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 9250b551d9 fix stats build 2011-11-21 06:21:06 +00:00
Arvid Norberg 5d8ce01c7a silence valgrind warning about uninitialized memory 2011-11-20 20:49:18 +00:00
Arvid Norberg 0bcdf7706c fix potential invalid access when shutting down broadcast socket 2011-11-19 22:17:13 +00:00
Arvid Norberg 3d04b5cc49 fix logging formatting bug in utp_stream 2011-11-19 20:06:20 +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 c342355ab2 back-ported an iterator-debug fix from libtorrent_aio 2011-11-16 02:27:28 +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 5576a98d04 log session_stats to /var/log/ on unixes 2011-11-13 08:12:11 +00:00
Arvid Norberg 4d49d0f20d windows storage fixes 2011-11-13 04:12:56 +00:00
Arvid Norberg 344e6c8a3b align error codes 2011-11-13 03:35:03 +00:00
Arvid Norberg 3eb1b1839d add verbose peer logging for setting TOS byte 2011-11-10 09:18:55 +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 57e7f14024 fixed rare piece picker bug 2011-11-07 04:31:48 +00:00
Arvid Norberg f39b6b19e9 fix initialization issue of fast_resend_seq_nr for incoming uTP connections. Also log the fast_resend_seq_nr 2011-11-06 00:11:33 +00:00
Arvid Norberg 8c0672a9b7 fix overflow in utp logging 2011-11-05 18:28:32 +00:00
Arvid Norberg 4a6e012a5f some uTP tweaks. experimental slow start mode (disabled) 2011-11-05 09:30:38 +00:00
Arvid Norberg 3507e5f909 fix ut_metadata logging 2011-11-03 22:20:37 +00:00
Arvid Norberg 9a49372368 fix invariant check now that interest is calculated lazily 2011-11-03 09:20:16 +00:00
Arvid Norberg 2d6d76c525 fix mistake in last disk I/O patch 2011-11-03 09:19:43 +00:00
Arvid Norberg 1d238fd1d8 ignore EOF error from readv() in unaligned_write 2011-11-03 04:56:24 +00:00
Arvid Norberg 3b1a332d6e fix error reporting for session::add_torrent 2011-11-02 17:08:47 +00:00
Arvid Norberg 0d3eb71ba1 return -1 on failure on truncating file 2011-11-02 09:07:54 +00:00
Arvid Norberg 32dfc469c3 use NtSetInformationFile to truncate files in unbuffered mode (to avoid having to close and re-open them) 2011-11-02 09:02:28 +00:00
Arvid Norberg 99a209e3c9 web_peer_connection fix and assert 2011-11-02 08:04:16 +00:00
Arvid Norberg daedc43d3c fix release build 2011-11-02 05:28:25 +00:00
Arvid Norberg 36c9c663d3 fixed missing includes 2011-11-02 04:50:04 +00:00
Arvid Norberg ca9122861a merged unaligned write fix over from RC_0_15 2011-11-02 04:45:22 +00:00
Arvid Norberg 3c602e8fe8 remove redundant include 2011-11-01 05:41:10 +00:00
Arvid Norberg 9a91518b9a add assert in web_peer_connection 2011-10-30 06:13:34 +00:00
Arvid Norberg ec80a85bdb fixed connection setup and teardown issues 2011-10-28 23:34:55 +00:00
Arvid Norberg b85727c633 another channel state fix 2011-10-28 23:08:52 +00:00
Arvid Norberg dfda3c9a95 another channel state fix 2011-10-28 22:56:23 +00:00
Arvid Norberg 85ff124503 one more channel stat fix 2011-10-28 21:38:45 +00:00
Arvid Norberg becd714bc8 channel state fix 2011-10-27 08:42:51 +00:00
Arvid Norberg 602e0089f9 fixed silly typo 2011-10-26 01:00:53 +00:00
Arvid Norberg 1c8a7b6343 fixed invalid torrent_status::finished_time 2011-10-26 00:58:21 +00:00
Arvid Norberg e58e27e83a change peer_states to be a bitmask (bw_limit, bw_network, bw_disk) 2011-10-25 17:34:42 +00:00
Arvid Norberg da4998bd46 minor fix to broadcast socket patch 2011-10-25 10:28:54 +00:00
Arvid Norberg 0a2b352795 possible dangling pointer fix in broadcast_socket 2011-10-25 05:55:32 +00:00
Arvid Norberg 9afd09d797 optimize sending buffers on peer sockets by corking and uncorking 2011-10-24 04:22:53 +00:00
Arvid Norberg 5e3e4c6146 fixed typo in hash-piece parser 2011-10-23 09:21:07 +00:00
Arvid Norberg 15f20c887d fix msvc build 2011-10-22 17:44:40 +00:00
Arvid Norberg b430152174 post disk job completions in batches to save CPU in the network thread 2011-10-19 05:46:49 +00:00
Arvid Norberg d3fb55e1da optimize socket send buffers a bit 2011-10-19 02:40:37 +00:00
Arvid Norberg a9b51e1579 fix overflow issue when determining number of outstanding bytes 2011-10-18 16:22:36 +00:00
Arvid Norberg 95e462e750 windows version of CPU time measurement 2011-10-18 00:42:05 +00:00
Arvid Norberg 7d20c0b0c4 log CPU usage of network thread 2011-10-17 17:12:08 +00:00
Arvid Norberg 8b6522a763 log buffer sizes passed to read() and write() at the socket layer (to identify performane problems) 2011-10-17 06:54:02 +00:00
Arvid Norberg aab4cb6937 log number of asio messages passed through the queue per second (to track down performance issue) 2011-10-17 05:17:21 +00:00
Arvid Norberg 14e7c9f480 queue position fix 2011-10-15 07:11:50 +00:00
Arvid Norberg ef1ee13d58 fix bug in flush_cache_blocks 2011-10-13 02:19:55 +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 e6324670a1 fix issue in write_unaligned when writing to a file it's too short 2011-10-11 08:43:15 +00:00
Arvid Norberg e1bfd8541f fixed bugs in dont-have and upload-only extension messages 2011-10-11 07:20:12 +00:00
Arvid Norberg 744a3be65d also use separate lower limits for up and download rates in the TCP/uTP mixed mode algorithm 2011-10-11 05:05:09 +00:00
Arvid Norberg 8aed4eaa7f improve TCP/uTP mixed mode algorithm by only taking peers into account that have outstanding requests (and want to send or expect to receive). Also throttle upload and download independently 2011-10-11 05:00:35 +00:00
Arvid Norberg 2741563711 set alert_mask early 2011-10-08 09:52:36 +00:00
Arvid Norberg f20a63e817 fix web seed race condition when using a proxy 2011-09-30 09:09:33 +00:00
Arvid Norberg d535e6b1ee fix setting of disk_io_write_mode and disk_io_read_mode in set_settings 2011-09-28 18:14:48 +00:00
Arvid Norberg d54c85d31b log uTP receive delay in stats log 2011-09-28 00:03:12 +00:00
Arvid Norberg b078f908f0 one more attempt to fix no-readback cache algorithm 2011-09-27 10:46:56 +00:00
Arvid Norberg b3d2877274 more no-readback fixes 2011-09-27 07:50:58 +00:00
Arvid Norberg d8641705e3 commented out expensive invariant check in disk cache 2011-09-27 04:56:57 +00:00
Arvid Norberg f6b6b57c0e fix avoid-readback cache algorithm 2011-09-27 04:05:05 +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 451c31828f changed semantics of send_buffer_watermark_factor to be specified as a percentage 2011-09-23 21:12:28 +00:00
Arvid Norberg 85db40e2c5 log outstanding reading bytes from peers in stats log 2011-09-23 20:57:42 +00:00
Arvid Norberg cda738abc6 minor logging fix 2011-09-23 05:12:29 +00:00
Arvid Norberg bf4ba45bf3 remove invalid assert in session_impl::listen_on 2011-09-22 21:30:46 +00:00
Arvid Norberg 8c23b0e3ce allow NULL to be passed to create_torrent::set_comment and create_torrent::set_creator 2011-09-22 21:24:50 +00:00
Arvid Norberg 976a50384a some more struct layout optimization 2011-09-22 10:37:47 +00:00
Arvid Norberg 5a7fe934bf fix torrent_info swap with openssl 2011-09-21 09:40:14 +00:00
Arvid Norberg 7a50255865 improved struct layout debug logging and optimized some structs 2011-09-21 09:27:07 +00:00
Arvid Norberg 61ceacca9b fix non-openssl logging build 2011-09-21 03:51:07 +00:00
Arvid Norberg 06cad3a245 fix UPnP issue for routers with multiple PPPoE connections 2011-09-18 20:28:06 +00:00
Arvid Norberg d27430a8c3 clear the queued packets on socks5 error, as a precaution 2011-09-17 23:03:46 +00:00
Arvid Norberg 2a6b019431 don't fail socks5 on 'socket already open' 2011-09-17 23:01:39 +00:00