Commit Graph

3492 Commits

Author SHA1 Message Date
Arvid Norberg c21100a9a5 log failed and redundant bytes 2011-03-13 04:34:57 +00:00
Arvid Norberg ca4a053d1a add written disk blocks to session stats 2011-03-12 21:41:05 +00:00
Arvid Norberg 03a7442532 add disk cache stats to session stats 2011-03-11 07:37:12 +00:00
Arvid Norberg 44fe8c160a fix no-exceptions build 2011-03-10 05:01:36 +00:00
Arvid Norberg 0d300cd09a fixed test build and some clang warnings 2011-03-09 07:51:04 +00:00
Arvid Norberg caf3ee350b shuffle around session member functions 2011-03-09 02:34:13 +00:00
Arvid Norberg 5431d86779 no need to close and re-open the listen socket when starting the DHT. Report the actual port we ended up listening on if the system chose one. don't try to listen on i2p 2011-03-07 07:02:30 +00:00
Arvid Norberg 9ecfbd17e6 prioritize trackers after adding the initial tracker 2011-03-07 03:51:52 +00:00
Arvid Norberg 5ea62910ba fixed inverse logic for ip filter exemption 2011-03-07 01:20:23 +00:00
Arvid Norberg f90f9f6609 fixed alert queue size limit bug when restoring setting from session state 2011-03-07 00:36:51 +00:00
Arvid Norberg b215c0c5e6 fix for incoming connections with torrents exempted from ip filter 2011-03-06 20:38:24 +00:00
Arvid Norberg 019b682cf9 fixed logging build 2011-03-04 07:00:27 +00:00
Arvid Norberg 9d0b99480b fix ip filter exemption for trackers. also add a global setting to always exempt trackers 2011-03-04 06:55:39 +00:00
Arvid Norberg cefc97597d improve error reporting for save resume data for torrents with no metadata 2011-03-04 06:17:55 +00:00
Arvid Norberg a0b6085530 re-evaluate auto managed torrents soon after adding a new auto-managed torrent 2011-03-04 06:03:45 +00:00
Arvid Norberg 2bdfea4248 fix count for non-ip-filtered torrents 2011-03-03 03:57:47 +00:00
Arvid Norberg 0aff6803fb fix to IP filter exemptions 2011-03-02 17:37:10 +00:00
Arvid Norberg 209bee16bf choker fix. some logic had made it into the bittyrant choker that would never be used 2011-03-02 07:26:09 +00:00
Arvid Norberg 83e8700615 minor fixes 2011-03-01 21:57:03 +00:00
Arvid Norberg 08c93978a6 clean up some dead code and fix windows build 2011-02-28 00:35:58 +00:00
Arvid Norberg c15880be91 support having torrents that the IP filter doesn't apply to 2011-02-27 17:26:57 +00:00
Arvid Norberg 8c2d496992 added new option 'always_send_user_agent' 2011-02-26 18:17:55 +00:00
Arvid Norberg 12caf7ff2e fix random.cpp build errors on non C99 compilers 2011-02-26 18:15:31 +00:00
Arvid Norberg 3b68fb2a03 add missing files 2011-02-26 17:59:34 +00:00
Arvid Norberg 19e268bbe5 fixed line endings 2011-02-26 07:56:20 +00:00
Arvid Norberg ab3b82b8ee replaced std::rand() with custom random generator 2011-02-26 07:55:51 +00:00
Arvid Norberg 7288f77ec9 support saving metadata in resume file, enable it by default for magnet links 2011-02-26 07:48:05 +00:00
Arvid Norberg 56937edf56 cleaned up some exception handling and introduced macros like BOOST_TRY/BOOST_CATCH to make the optional exception handling nicer 2011-02-25 17:00:36 +00:00
Arvid Norberg 5f5ba94462 cleared some variables in constructors and got rid of an unnecessary constructor 2011-02-25 04:28:32 +00:00
Arvid Norberg f7576714bf fixed some build warnings 2011-02-24 18:47:02 +00:00
Arvid Norberg 47822c27fe fixed typo in storage 2011-02-24 18:01:32 +00:00
Arvid Norberg ca106ca4e0 some warning fixes and cleanup 2011-02-24 04:25:35 +00:00
Arvid Norberg 8293543862 fix iterator bug in dht rss items 2011-02-24 03:22:24 +00:00
Arvid Norberg 5412c62b1f fix tracker URL decoding when adding magnet links 2011-02-23 16:47:18 +00:00
Arvid Norberg 118a75ebe7 generalized string conversion for libc 2011-02-22 03:09:13 +00:00
Arvid Norberg 97a40a45cd fully support unbuffered I/O 2011-02-22 02:53:26 +00:00
Arvid Norberg f22cf00aa4 add comments to the pad file logic 2011-02-21 06:57:03 +00:00
Arvid Norberg 56bc861455 fixed typo 2011-02-21 05:28:43 +00:00
Arvid Norberg 141ada013f fixed a whole bunch of build warnings on gcc and msvc, along with some fixes discovered along the way 2011-02-21 05:24:41 +00:00
Arvid Norberg 9fe69e7596 fix another issue with adding magnet links with a valid torrent_info object 2011-02-21 03:07:37 +00:00
Arvid Norberg 28243bff31 fix typo 2011-02-20 23:23:55 +00:00
Arvid Norberg d67e935faf fix torrent constructor to allow a half-constructed torrent_info object for magnet links 2011-02-20 23:21:29 +00:00
Arvid Norberg 261e2e2726 deadline-piece picking fix 2011-02-19 21:24:32 +00:00
Arvid Norberg 10a00fc62b fixed extended handshake error handling to be more robust and fix extension message precedence over plugins 2011-02-19 21:20:03 +00:00
Arvid Norberg 3a89bcf6ff don't assert on passing in a null pointer for listen interface, just listen on INADDR_ANY 2011-02-19 21:16:32 +00:00
Arvid Norberg bd1ef5397c clean up broadcasting 2011-02-17 06:47:26 +00:00
Arvid Norberg 513914050c fixed broadcast_lsd option. in trunk, redefined it to only broadcast every 8th packet 2011-02-16 10:16:52 +00:00
Arvid Norberg 3c05e81529 support for receiving multi announce messages for local peer discovery 2011-02-16 07:41:44 +00:00
Arvid Norberg cb6f38f056 added session::listen_no_system_port flag to prevent libtorrent from ever binding the listen socket to port 0 2011-02-16 06:35:53 +00:00
Arvid Norberg 9aa09d384c added smooth_connect and turned it on by default 2011-02-16 03:11:55 +00:00
Arvid Norberg 7f981ece6c fixed incorrect assert 2011-02-15 10:11:36 +00:00
Arvid Norberg c4c1773ceb fixed some warnings 2011-02-15 10:05:25 +00:00
Arvid Norberg d35670e53d generalize use of getifaddrs 2011-02-15 07:42:46 +00:00
Arvid Norberg 7eba4cc310 fix verbose logging build 2011-02-15 07:39:25 +00:00
Arvid Norberg b6b0970e16 use getifaddrs on linux to enumerate interfaces 2011-02-15 06:29:44 +00:00
Arvid Norberg 7d300c807a no handshake counts as a connect failure 2011-02-14 06:37:22 +00:00
Arvid Norberg 247ad31dc0 more disconnect granularity in stats logging 2011-02-14 05:38:59 +00:00
Arvid Norberg b471e40064 log more details on the cause of disconnects 2011-02-14 04:48:02 +00:00
Arvid Norberg 7508038337 cross compiling fixes 2011-02-14 04:12:26 +00:00
Arvid Norberg 5864a883e6 fixed build warnings 2011-02-14 01:59:01 +00:00
Arvid Norberg 8bb71da401 disk write queue watermark fix 2011-02-13 22:27:02 +00:00
Arvid Norberg b664f7faa3 http connection error handling fix 2011-02-13 09:13:05 +00:00
Arvid Norberg 8e8b0495e1 don't leak non-fatal errors out of storage::initialize 2011-02-13 01:16:06 +00:00
Arvid Norberg 21d6030fe3 logging build fix 2011-02-12 23:25:09 +00:00
Arvid Norberg d35b0a8a7b one more storage initialization fix 2011-02-12 22:48:21 +00:00
Arvid Norberg 6780114937 log number of upload-only torrents in session stats 2011-02-12 22:15:03 +00:00
Arvid Norberg 9915d72e4c fixed typo in storage allocation. would exit early on non fatal error 2011-02-12 22:11:00 +00:00
Arvid Norberg 7f91b8174e create missing directories on the fly 2011-02-12 22:00:08 +00:00
Arvid Norberg 4267f0ec5a rotate stats log every hour 2011-02-11 17:39:22 +00:00
Arvid Norberg aa116cd1d1 fix race condition when initializing the disk thread 2011-02-11 07:20:11 +00:00
Arvid Norberg 94027cbea3 fix failed invariant check by pausing torrents that are just completing checking and are auto-managed earlier 2011-02-11 07:10:47 +00:00
Arvid Norberg 9efd739cf5 fixed typo 2011-02-10 06:06:56 +00:00
Arvid Norberg e959acae42 add iconv build option 2011-02-09 09:54:45 +00:00
Arvid Norberg 1088c5aa6f fixed typo in storage 2011-02-09 08:20:51 +00:00
Arvid Norberg 192a829222 fixed udp-socket race condition when using a proxy 2011-02-09 08:01:53 +00:00
Arvid Norberg 813d88a50e fix non-IPv6 build 2011-02-09 07:27:04 +00:00
Arvid Norberg a42d42fd11 CPU optimization for end-game piece picker 2011-02-09 02:56:00 +00:00
Arvid Norberg cfd36ca53e another udp_socket buffer allocation fix 2011-02-08 17:17:07 +00:00
Arvid Norberg e079907252 more end-game piece picker optimization (early exit) 2011-02-08 04:08:04 +00:00
Arvid Norberg 73e3bbae7b use iconv on mingw 2011-02-07 17:25:24 +00:00
Arvid Norberg 231118fdd0 one more udp_socket fix 2011-02-07 01:41:54 +00:00
Arvid Norberg 5df4e7edd9 added more piece picker stats 2011-02-07 00:51:20 +00:00
Arvid Norberg 3d616f894e end-game mode optimizations 2011-02-06 23:40:21 +00:00
Arvid Norberg f0b15a2410 more robust removal in packet_buffer 2011-02-06 09:34:47 +00:00
Arvid Norberg 63c96274b9 more stats for redundant/failed and protocol bandwidth usage 2011-02-06 07:33:40 +00:00
Arvid Norberg ea0af55a46 log end-game mode stats with stats logging 2011-02-06 03:07:00 +00:00
Arvid Norberg ed8779a338 added option to not recheck on missing or incomplete resume data 2011-02-06 00:50:12 +00:00
Arvid Norberg 127fc0bd93 merged udp socket fix to 0.15 branch and made some more fixes to it 2011-02-06 00:34:52 +00:00
Arvid Norberg 5690444178 fixed bug in udp_socket where there would be two outstanding async read operations on the socket 2011-02-05 21:19:33 +00:00
Arvid Norberg 4c0c322387 use free/malloc instead of realloc in udp_socket 2011-02-05 09:39:15 +00:00
Arvid Norberg adb250cf5c fixed missing logging of peer disconnects 2011-02-04 07:14:00 +00:00
Arvid Norberg fa40cf38aa demoted some errors to regular disconnect messages 2011-02-04 06:55:39 +00:00
Arvid Norberg 06d8142c5b checking torrents don't count in auto manage logic 2011-02-04 06:55:05 +00:00
Arvid Norberg 051936cd29 fixed typo 2011-02-04 06:44:05 +00:00
Arvid Norberg 19d6c53ad4 increase low watermark for disk write queue. log payload rates in session stats 2011-02-04 06:33:47 +00:00
Arvid Norberg 88663bfbde log more peer errors in stats log 2011-02-04 04:31:20 +00:00
Arvid Norberg 9715fbdb3a only post peer error alerts for actual errors 2011-02-04 03:49:20 +00:00
Arvid Norberg 907588db12 fixed bug in peer upload stats logging and adjusted bucket sizes for histogram 2011-02-04 03:24:55 +00:00
Arvid Norberg 4ed6b1a067 introduce a low watermark for disk io blocking connections 2011-02-04 03:02:23 +00:00
Arvid Norberg bf77ee4199 extended stats logging 2011-02-03 06:22:22 +00:00
Arvid Norberg 5456f2ac91 provide more stats with stats builds 2011-02-03 04:09:50 +00:00
Arvid Norberg 6018f82c00 bump max queued_disk_bytes in high_performance_seed 2011-02-02 08:01:22 +00:00
Arvid Norberg ddd4d84a1d fixed mingw build 2011-02-02 07:41:32 +00:00
Arvid Norberg 6ecf04137f fix stats build 2011-02-01 17:25:06 +00:00
Arvid Norberg 012bfba3f7 fix disk queue counters 2011-02-01 16:55:32 +00:00
Arvid Norberg b842815710 added new session functions to more efficiently query torrent status 2011-02-01 09:48:28 +00:00
Arvid Norberg 6692f05655 added alerts for added and removed torrents 2011-02-01 03:25:40 +00:00
Arvid Norberg 77a4ac782a udp socket cleanup and asserts 2011-01-31 06:31:22 +00:00
Arvid Norberg 3e4634097d mapped file resume data fixes 2011-01-31 00:47:09 +00:00
Arvid Norberg ad87e84e47 packet buffer comment fix and support for inserting NULLs 2011-01-30 19:35:20 +00:00
Arvid Norberg 19ae5440f2 make auto-manager kick in immediately when torrents are added and paused (reduces a 10 seconds delay) 2011-01-30 13:15:29 +00:00
Arvid Norberg d393bb4097 report number of peers blocked on disk in session_status 2011-01-30 10:04:15 +00:00
Arvid Norberg 0c16163e71 fix build with no extensions support 2011-01-29 12:13:49 +00:00
Arvid Norberg 87dfdd4790 expanded plugin interface to support session state. improved re-request logic in ut_metadata extension. made max metadata size configurable 2011-01-29 10:37:21 +00:00
Arvid Norberg e9f9d08fbe disabled uTP/TCP mixed-mode for high_performance preset 2011-01-28 18:23:54 +00:00
Arvid Norberg 2218b13ba0 fixed typo in ut_metadata 2011-01-28 03:49:20 +00:00
Arvid Norberg a0338f6d24 made the metadata block requesting algorithm more robust against hash check failures 2011-01-27 06:49:32 +00:00
Arvid Norberg eb47f06ef9 fix DHT cidr check 2011-01-26 03:12:46 +00:00
Arvid Norberg 4070c2d465 fixed stat_file issue on windows 2011-01-25 08:21:01 +00:00
Arvid Norberg fccd38d355 fixed last-seen-complete bug in torrent::status 2011-01-25 08:20:22 +00:00
Arvid Norberg b230c385d9 clean up logic around waiting for disk write queue to fall below low watermark. optimize peer disconnect. Fix integer overflow bug in uTP/TCP mixed mode algorithm. Fixed some invariant checks for closing connections issues 2011-01-25 08:03:35 +00:00
Arvid Norberg 9964b9cdb6 support a separate option to use proxies for peers or not 2011-01-24 03:24:28 +00:00
Arvid Norberg 4602ff4b47 removed logging in destructor since it caused a race condition with the creation of the logger 2011-01-24 03:23:34 +00:00
Arvid Norberg 2732a6bc47 move alert queue size limit into session_settings. make some alerts non-discardable (don't throw them out, even when the queue is full). Make session pause also pause all checking files. optimize rejecting incoming connections when the session is paused 2011-01-23 18:00:52 +00:00
Arvid Norberg 0d2ba173a4 pex flood fix 2011-01-23 05:57:11 +00:00
Arvid Norberg 021a774168 rate limit outstanding-disk performance warnings. don't throttle reading form peers because of disk congestion if the peer isn't downloading payload. Don't time out peers that are not waiting on the network 2011-01-23 02:09:54 +00:00
Arvid Norberg de28a57954 add back version in DHT packets 2011-01-23 02:02:04 +00:00
Arvid Norberg ec6ef250bf fixed build warning 2011-01-22 19:47:11 +00:00
Arvid Norberg 1dc0e71716 added torrent_error_alert when a torrent encounters an error 2011-01-22 19:06:43 +00:00
Arvid Norberg 483870cd83 add runtime boundary checks for piece and file priority functions 2011-01-22 19:01:44 +00:00
Arvid Norberg 5c20606397 fixed race condition in iconv string converter 2011-01-22 04:33:21 +00:00
Arvid Norberg 6db9c5be31 update settings presets 2011-01-22 01:36:57 +00:00
Arvid Norberg c6c7ed16f6 added TODO comments 2011-01-20 06:17:27 +00:00
Arvid Norberg 6663f527da fixed error handling in torrent_info constructor 2011-01-19 10:07:51 +00:00
Arvid Norberg 99d2c4eea8 storage initialize fix 2011-01-19 09:19:26 +00:00
Arvid Norberg 557ddca693 fixed bug when remapping files 2011-01-19 08:42:17 +00:00
Arvid Norberg 59a7ee73dc fixed file allocation bug when existing files are larger than they're supposed to be 2011-01-19 07:39:55 +00:00
Arvid Norberg 35aaec3b38 fix read buffer bug in udp_socket 2011-01-19 07:16:45 +00:00
Arvid Norberg ba0aed2282 initial support for DHT RSS feeds 2011-01-19 05:57:44 +00:00
Arvid Norberg c223291fb4 added support for RSS feeds 2011-01-18 03:41:54 +00:00
Arvid Norberg 7b4998213f graceful pause fix 2011-01-18 01:19:58 +00:00
Arvid Norberg 83da84452f fixed bug in remap_files 2011-01-17 08:02:23 +00:00
Arvid Norberg eec2672d26 fixed up some edge cases in DHT routing table and improved unit test of it. Primarily fixed issues where an IP could take over someone elses node ID and where an IP would change its node ID 2011-01-17 07:49:44 +00:00
Arvid Norberg 8c851b4d34 move an assert 2011-01-16 22:22:33 +00:00
Arvid Norberg 04086ad2f0 url download fix 2011-01-16 02:56:57 +00:00
Arvid Norberg e31aceeda4 added error category and error codes for HTTP errors 2011-01-16 02:54:59 +00:00
Arvid Norberg f87b0b4617 only apply privileged port filter to DHT-only peers 2011-01-08 09:04:31 +00:00
Arvid Norberg b49999b76e made the DHT implementation slightly more robust against routing table poisoning and node ID spoofing 2011-01-08 08:54:51 +00:00
Arvid Norberg ee7c713af7 support chunked encoding in http downloads (http_connection) 2011-01-06 04:08:57 +00:00
Arvid Norberg c54ffcbb8d fix invalid assert 2011-01-01 17:09:25 +00:00
Arvid Norberg bfdbb98ee2 fixed rare crash in http_connection's error handling 2010-12-31 00:55:54 +00:00
Arvid Norberg 1bc50983dc don't connect to privileged ports by default 2010-12-31 00:33:23 +00:00
Arvid Norberg 97695d6c1d url download fix 2010-12-30 23:09:16 +00:00
Arvid Norberg 71e4172bde minor redirect fix for http_connection 2010-12-30 22:51:15 +00:00
Arvid Norberg a3e7095f84 url downloading fix 2010-12-30 06:46:28 +00:00
Arvid Norberg 00efc31bf6 various smaller fixes 2010-12-30 03:46:11 +00:00
Arvid Norberg 26053e4b76 support adding torrents by url to a .torrent file 2010-12-30 01:47:30 +00:00
Arvid Norberg ae41b2598b fix non-dht build 2010-12-29 02:17:44 +00:00
Arvid Norberg d1124574ef fix test_transfer to set mixed mode to 'prefer_tcp' to avoid having it interfere with the send rate. optimize the test to run a lot faster. fix proxy to allow any protocol (fixes issue where test failed with http and https proxy). Bump the minimum rate limit to 20kB/s (from 5kB/s) in proportional mixed mode algorithm 2010-12-27 22:54:14 +00:00
Arvid Norberg 40e1bea451 include the IP we actually connected to when reporting the IPs of the tracker 2010-12-26 22:36:18 +00:00
Arvid Norberg fc0bd8066b use a python python dictionary for settings instead of session_settings object (in python bindings) 2010-12-26 08:03:02 +00:00
Arvid Norberg dc9af94ee1 avoid self-assignment of tcp::endpoint (causes a memcpy with overlapping ranges) 2010-12-25 09:13:50 +00:00
Arvid Norberg 1074fc1f31 fixed some uninitalized variables 2010-12-24 23:54:03 +00:00
Arvid Norberg daea6d507e fixed uninitialized variable in utp MTU logic. Fixed array overrun in disk cache 2010-12-24 22:53:00 +00:00
Arvid Norberg 8c3ad6b4f3 asio debugging fixes and test_transfer fixes 2010-12-24 18:15:01 +00:00
Arvid Norberg 9c3076481d hack to fix an issue in natpmp and upnp 2010-12-24 03:30:52 +00:00
Arvid Norberg 451c583023 more robust mechanism to determine external IP 2010-12-24 01:31:41 +00:00
Arvid Norberg 8cec51fc47 fixes to make valgrind happy 2010-12-24 01:22:49 +00:00
Arvid Norberg c4422cd34e optimize test_transfer. fix set_upload_mode() bug for seeds. clean up some verbose logging. fix tests to not fail by EAGAIN on stdout 2010-12-24 00:37:01 +00:00
Arvid Norberg 31386d8396 comment out assert 2010-12-21 03:40:49 +00:00
Arvid Norberg 76f1a9aad0 verbose logging cleanup 2010-12-19 19:40:32 +00:00
Arvid Norberg 650f02eba7 fixed some windows build issues 2010-12-19 08:12:31 +00:00
Arvid Norberg 3616c2f720 fixed bug in seeding_outgoing_connections 2010-12-18 23:21:13 +00:00
Arvid Norberg a1aaf4010a don't boost more connections than allowed within the connection_speed. i.e. honor the connection_speed setting 2010-12-18 23:18:20 +00:00
Arvid Norberg de3a5784be fix build with IPv6 disabled 2010-12-18 18:46:20 +00:00
Arvid Norberg 20d4279177 optimized piece picking to not cause busy loops in some end-game modes 2010-12-18 10:19:34 +00:00
Arvid Norberg f2416af718 added feature to turn off making outgoing connections for seeds 2010-12-17 03:20:36 +00:00
Arvid Norberg 0b213d95d2 add missing settings mappings 2010-12-17 03:16:30 +00:00
Arvid Norberg cbf9ead9f4 optimized metadata transfer 2010-12-17 03:12:45 +00:00
Arvid Norberg d554cf88e6 optimized swarm startup time (shaved off about 1-2 seconds) by introducing torrent connection boost on the first tracker response for a torrent 2010-12-17 03:10:56 +00:00
Arvid Norberg d301890d78 fixed edge case of pad file support 2010-12-13 16:47:12 +00:00
Arvid Norberg fbdf76cf5b fix DHT size estimation 2010-12-13 09:24:19 +00:00
Arvid Norberg 4fcfceb087 DHT optimizations and fixes. Fixed routing table bucket splitting 2010-12-12 20:36:42 +00:00
Arvid Norberg f64679c297 fixed build warnings 2010-12-12 19:40:11 +00:00
Arvid Norberg cc22aca981 DHT routing table tuning 2010-12-12 19:18:23 +00:00
Arvid Norberg 87c39fe3f6 fixed bug in natpmp 2010-12-12 18:16:35 +00:00
Arvid Norberg 5ee6266e93 more DHT fixes 2010-12-12 09:15:54 +00:00
Arvid Norberg 31d8c7d9b7 fixed non dht-logging build 2010-12-12 03:45:49 +00:00
Arvid Norberg b56a1638ae DHT fixes. fixed bucket refresh issue. re-introduced refreshing our own bucket regularly. added more DHT instrumentation in session_status. added alert for when bootstrap is complete. Fixed bootstrap to ping remaining nodes when search is complete. Completed recent DHT observer rewrite to remove some redundant fields 2010-12-12 03:17:08 +00:00
Arvid Norberg 67d1c57b5e bumped some limits in dump_torrent 2010-12-11 22:00:20 +00:00
Arvid Norberg 29ed03f720 first implementation of DHT security implementation. tie the node ID to the external IP 2010-12-11 09:38:07 +00:00
Arvid Norberg 10003f952f fix build issue 2010-12-09 05:39:28 +00:00
Arvid Norberg 1e82df3e45 support partial hash DHT lookups 2010-12-06 06:39:16 +00:00
Arvid Norberg db0728e0cf right, the session thread actually has to start before upnp and natpmp can be started, since they are synchronous 2010-12-05 21:08:19 +00:00
Arvid Norberg 779014ddac support requesting UPnP and NAT-PMP routers for our external IP address 2010-12-05 20:40:28 +00:00
Arvid Norberg 2f115bc1aa factor out incremeant of m_acked_seq_nr, m_fast_resend_seq_nr and m_loss_seq_nr to make it more robust. Should fix issues where m_acked_seq_nr sometimes could get stuck pointing behind the last acked sequence number 2010-12-05 03:03:56 +00:00
Arvid Norberg 03bd547f40 potential memory corruption fix when connections close when the disk becomes available 2010-12-04 23:24:42 +00:00
Arvid Norberg 1c99bf1de3 more network thread asserts to make sure only the network thread touches network-thread only data. Also delay starting the network thread until after the session constructor is done with its setup 2010-12-04 22:20:31 +00:00
Arvid Norberg 94ef3eaf4b windows build fixes 2010-12-01 05:47:18 +00:00
Arvid Norberg f4746f4090 verbose logging cleanup 2010-12-01 04:22:03 +00:00
Arvid Norberg 3563ef98df fixed build error 2010-11-30 03:20:35 +00:00
Arvid Norberg 6ec7c85746 fixed build issues with default logging level 2010-11-30 02:39:36 +00:00
Arvid Norberg 2e69366b02 reverted part of the file_storage API to match the previous one more closly 2010-11-29 05:44:29 +00:00
Arvid Norberg f82321c1dd add a backwards compatible lazy_bdecode() 2010-11-29 02:48:40 +00:00
Arvid Norberg e5f980d80d merged uTP branch into trunk (yay) 2010-11-29 01:33:05 +00:00
Arvid Norberg 80611bd12c some settings save-fixes and reverting some unnecessary changes in the utp branch 2010-11-28 22:36:26 +00:00
Arvid Norberg df1372e04b disable slight memory optimization because it appears to cause leaks 2010-11-28 02:34:24 +00:00
Arvid Norberg 2e871382d7 add debug configuration to debug shutdown-stall bugs / outstanding async operations 2010-11-28 01:47:30 +00:00
Arvid Norberg f21251cba8 limit number of torrents tracked by DHT and support DHT name lookups 2010-11-27 03:09:28 +00:00
Arvid Norberg 4f24fe1e62 fixed bug when allow_multiple_connections_per_ip was enabled 2010-11-26 20:48:04 +00:00
Arvid Norberg d1cb2d52ff fixed build issues with with vernose logging enabled 2010-11-26 20:44:48 +00:00
Arvid Norberg 27f84d1618 fixed minor error handling logging and assert issue in disk io thread 2010-11-26 20:38:31 +00:00
Arvid Norberg 93702052fb lower default delay when checking files in low-memory mode 2010-11-25 23:34:37 +00:00
Arvid Norberg 8ff9b6338b some fixes 2010-11-25 10:46:52 +00:00
Arvid Norberg faccbd8ae3 introduce safety limit on total number of items in bencoded trees in lazy_bdecode. Document lazy_bdecode and its error codes. Make dump_torrent able to change the decoding limits 2010-11-25 02:49:50 +00:00
Arvid Norberg 894db973e8 optimized memory usage of torrent_info and file_storage 2010-11-24 23:49:22 +00:00
Arvid Norberg 7cd628e78d fix for unchoking optimistically unchoked peers 2010-11-23 20:36:27 +00:00
Arvid Norberg d937716af0 use PtrToPtr64 for scatter/gather I/O operations 2010-11-22 00:54:39 +00:00
Arvid Norberg a05acc4bac support trackerid tracker extension 2010-11-18 05:51:52 +00:00
Arvid Norberg 40ed231366 fixed tracker timeout handling 2010-11-18 01:06:33 +00:00
Arvid Norberg 71d51b90e8 more size logging and potential fix for udp_tracker_connection leak 2010-11-16 06:41:35 +00:00
Arvid Norberg 62f8cac2b9 fixed typo 2010-11-15 05:15:43 +00:00
Arvid Norberg 8c404cc5c1 optimized memory usage of torrent_info 2010-11-15 05:10:36 +00:00
Arvid Norberg 79f6b5856b verbose logging fixes 2010-11-15 04:43:53 +00:00
Arvid Norberg 94a25a3953 fix one more assert (hopefully) 2010-11-14 10:57:10 +00:00
Arvid Norberg 2353cc8ec2 assert we don't ask for physical offset of a pad file 2010-11-14 08:17:27 +00:00
Arvid Norberg 26b48530d2 fixed some incorrect encryption asserts 2010-11-14 01:06:52 +00:00
Arvid Norberg a4f533ce55 improve the bencoded printer 2010-11-09 18:13:22 +00:00
Arvid Norberg 6ba977aa9b fixed bug in session_settings::disable_hash_checks 2010-11-07 21:41:03 +00:00
Arvid Norberg 02e15202f2 support dht nodes in magnet links 2010-11-07 19:18:16 +00:00
Arvid Norberg b3c0fa9f45 fixed some graceful pause mode edge cases 2010-11-07 09:39:35 +00:00
Arvid Norberg a2a2ac08a2 move queue_position and need_save_resume into torrent_status. optimized client_test to make fewer synchronous calls and pull more out of torrent_status 2010-11-06 18:04:07 +00:00
Arvid Norberg 80cfdc4fd8 dht assert fix 2010-11-06 17:01:21 +00:00
Arvid Norberg 1c7e5506e9 report stats on the number of dht request observers that are currently allocated 2010-11-06 07:12:57 +00:00
Arvid Norberg d3a8916f02 further simplify the DHT by getting rid of the result type and just using observers instead. This might save some memory and should fix the assert that would be triggered before 2010-11-05 19:06:50 +00:00
Arvid Norberg 23ac52c164 simplify some DHT code and remove a dependency on boost.mpl 2010-11-05 03:12:57 +00:00
Arvid Norberg dc639193db don't time out peers for inactivity if it's caused by a download rate limit or blocking on disk 2010-11-02 06:44:25 +00:00
Arvid Norberg 618f4dcc01 fix assertion failure with debug iterators when loading empty torrent files 2010-11-02 02:24:57 +00:00
Arvid Norberg 24916ac908 fixed typo 2010-10-31 22:26:22 +00:00
Arvid Norberg 8737a339c8 refactored verbose peer logging to use format strings 2010-10-31 22:12:26 +00:00
Arvid Norberg f57e1dd622 chunked encoding fixes and added support for http seeds as well 2010-10-31 03:05:11 +00:00
Arvid Norberg 0773644a4e fixed web seed test to work with invariant checks turned on and fixed error reporting when receiving an unexpected responce for http seeds 2010-10-30 19:45:50 +00:00
Arvid Norberg a76570b563 deprecated a bunch of query functions on torrent_handle in favor of using status() to get as much information as possible in fewer calls, and saving time on synchronizing with the main thread 2010-10-30 17:23:30 +00:00
Arvid Norberg 08a234f6a6 document peer turnover settings and update default settings to enable it. In trunk, make the peer turnover interval configurable as well 2010-10-30 15:59:57 +00:00
Arvid Norberg e4de1fc8b1 graceful disconnect mode which finishes transactions before disconnecting peers 2010-10-30 08:36:18 +00:00
Arvid Norberg 0dbef9103a some reordering and asserts around web seed name resolution 2010-10-30 07:11:04 +00:00
Arvid Norberg 2e05dc765a make the listen argument configurable 2010-10-29 08:10:12 +00:00
Arvid Norberg 0ef5d25d46 support 100 Continue HTTP responses 2010-10-29 07:56:07 +00:00
Arvid Norberg f84cc340df fixed a bunch of sloppy typos 2010-10-29 02:42:41 +00:00
Arvid Norberg 0d196d3c84 document the problem of the disk cache potentially modifying files after saving resume data. In trunk, add a flag to flush the cache in the same call as saving resume data 2010-10-29 02:21:43 +00:00