Commit Graph

3844 Commits

Author SHA1 Message Date
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