Commit Graph

2004 Commits

Author SHA1 Message Date
Arvid Norberg 601443afd3 close files in separate thread on systems where close() may block (Mac OS X for instance) 2011-08-07 04:41:10 +00:00
Arvid Norberg d4958c9286 support for dont-have extension message 2011-08-07 00:41:13 +00:00
Arvid Norberg 109e527568 added reset_piece_deadline function 2011-08-05 06:31:46 +00:00
Arvid Norberg 1537299666 add missing header file to makfile 2011-08-02 16:59:03 +00:00
Arvid Norberg 6a01b035be add missing files 2011-08-01 08:03:26 +00:00
Arvid Norberg bc2f0c8c5e move disk_buffer_pool out to its own file 2011-07-31 02:24:36 +00:00
Arvid Norberg 7817229f5d improve support for merkle tree torrent creation 2011-07-30 17:35:22 +00:00
Arvid Norberg 270f6959e4 fix PRId64 macro for mingw 2011-07-23 21:18:25 +00:00
Arvid Norberg ff6da81c4c fix iconv use on mingw 2011-07-23 19:30:23 +00:00
Arvid Norberg 1b353ce5af fix beos build 2011-07-20 05:14:25 +00:00
Arvid Norberg bf231bf86c apply patch to fix build on GNU hurd 2011-07-14 14:16:32 +00:00
Arvid Norberg 8d86c3bacc fixed release-asserts bulid 2011-07-05 04:05:12 +00:00
Arvid Norberg bf9d864dd2 stronger low-pass filter for iops reporting 2011-07-04 05:52:15 +00:00
Arvid Norberg de3ea9214a log a low-pass filtered iops to stats log 2011-07-03 17:21:45 +00:00
Arvid Norberg 90d8030269 log VM stats alongside the session stats 2011-06-28 22:20:34 +00:00
Arvid Norberg 209b9e4186 make disk timing be average over the last second. fixed some other bugs in previous changes 2011-06-26 19:45:33 +00:00
Arvid Norberg c647e95244 adjust default read cache line size and log IOPS in session stats 2011-06-26 19:00:40 +00:00
Arvid Norberg fdd2482536 fix windows isspace issue 2011-06-22 01:17:22 +00:00
Arvid Norberg c390dd5858 measure uTP send delay and log it in stats log. change unit on times to seconds (from milliseconds and microseconds) 2011-06-21 07:44:13 +00:00
Arvid Norberg 060b849dda factor encryption handler a bit and add proposal for an authentication extension 2011-06-18 16:58:36 +00:00
Arvid Norberg 3ba914b419 fix build 2011-06-14 06:10:35 +00:00
Arvid Norberg 78c6bd3b08 fix signature for set_alert_mask 2011-06-13 16:46:46 +00:00
Arvid Norberg d6c8184381 support locking files 2011-06-09 06:08:24 +00:00
Arvid Norberg f6f516bed0 fix file_storage copy constructor (would break python bindings) 2011-06-06 07:47:29 +00:00
Arvid Norberg 57f24128a9 add more default reporting about the request and download queue of peers to track end-game stall issue 2011-06-06 04:24:12 +00:00
Arvid Norberg b8614a36b3 fix resume state for paused when torrent was in graceful pause mode 2011-06-05 20:48:00 +00:00
Arvid Norberg df003ef57c fix checking behavior when pausing/resuming the session 2011-06-05 03:06:34 +00:00
Arvid Norberg 0c35fde81c memory usage optimization in policy::peer 2011-06-01 06:47:57 +00:00
Arvid Norberg e6640de205 updated IP->ID formula for DHT 2011-05-26 17:04:53 +00:00
Arvid Norberg 6fa1827c39 add support for mutable put/get functions in DHT 2011-05-25 02:26:07 +00:00
Arvid Norberg 5bbbf0cd41 add rsa sign and verification functions for future DHT extensions 2011-05-23 23:42:52 +00:00
Arvid Norberg 6830eb10a9 remove old search code from DHT. modify announce-item to fit with more recent proposal of get/put. Only immutable entries for now 2011-05-23 05:07:52 +00:00
Arvid Norberg 58d723012a support DHT scrape 2011-05-23 00:45:36 +00:00
Arvid Norberg 88fa0b9393 optimize send buffer allocation and deallocation by not allowing requiring contiguous buffers 2011-05-19 02:41:28 +00:00
Arvid Norberg 801d3637b9 attempt to fix crash in udp_socket when using a broken socks5 proxy 2011-05-14 22:25:49 +00:00
Arvid Norberg a9e14217ac address is the sort key in policy::peer and should never change 2011-05-14 20:57:58 +00:00
Arvid Norberg a73960aa5a support release asserts 2011-05-08 09:04:59 +00:00
Arvid Norberg aeb90205c7 fixed typo in release assert support 2011-05-08 06:29:28 +00:00
Arvid Norberg a329a11b57 add build option to always enable asserts (i.e. allow asserts in release builds) 2011-05-07 19:58:38 +00:00
Arvid Norberg c003e4f810 extend plugin API to allow hooking when peers are added to the peer list 2011-05-02 01:45:56 +00:00
Arvid Norberg a9cc2101c6 fixed bug with setting and getting file priorities 2011-05-01 17:43:15 +00:00
Arvid Norberg 0eb7505ad9 fix race condition when resolving the hostname of a web seed and removing it 2011-04-29 08:09:03 +00:00
Arvid Norberg e389f5963d added support for fadvise/F_RDADVISE for improved disk read performance 2011-04-26 07:03:05 +00:00
Arvid Norberg d0af936933 don't turn off read-ahead by default on files. Might impact hash checking 2011-04-25 02:15:18 +00:00
Arvid Norberg 573a291495 first step to remove recursion in bandwidth channel 2011-04-21 03:13:53 +00:00
Arvid Norberg 86d52bbe13 include info-hash in torrent_status and post event when disk cache is fully flushed when deleting a torrent 2011-04-19 08:21:09 +00:00
Arvid Norberg caed433cc7 make it possible to derive from default_storage class 2011-04-16 22:58:11 +00:00
Arvid Norberg 9382c77ea2 fix minor mingw issue 2011-04-14 07:23:48 +00:00
Arvid Norberg abec8aed8c use 'avoid_readback' as default disk cache eviction algorithm 2011-04-11 03:36:37 +00:00
Arvid Norberg c0f2d5186f added option to replace trackers or add trackers when loading trackers from resume data 2011-04-10 21:33:29 +00:00
Arvid Norberg eaedc22831 added make_torrent.py example and polished the python binding for creating torrents 2011-04-10 08:41:07 +00:00
Arvid Norberg 381f42bcf2 fix mingw build 2011-04-10 03:45:13 +00:00
Arvid Norberg 3435da235d make is_upload_only() be accurate and deal with super seeding special case only where necessary. Fix pointless assert in invariant check 2011-04-09 23:57:56 +00:00
Arvid Norberg e5720eafd8 fix crash in udp_socket when using SOCKS5 proxy 2011-04-09 17:59:00 +00:00
Arvid Norberg 8aae74ea03 make enum_net use feature ifdefs instead of platform ifdefs 2011-04-09 03:49:46 +00:00
Arvid Norberg 22f20253f8 support turning logging on and off during run-time when built with stats logging 2011-04-06 06:27:42 +00:00
Arvid Norberg 35d2354c38 bump default .torrent file size limit for magnet files to 3 MB and add more verbose logging to ut_metadata.cpp 2011-04-02 08:13:35 +00:00
Arvid Norberg 74ccff22be use a deque instead of list for disk io jobs queue 2011-03-28 06:01:24 +00:00
Arvid Norberg fdd23fc629 introduce a lower pass download/upload rate and report in session log 2011-03-27 20:58:43 +00:00
Arvid Norberg ddd21cb526 missing change from last check-in 2011-03-27 20:46:20 +00:00
Arvid Norberg 3d826ae32f figured out the weirdness in the session rate stats 2011-03-25 07:49:32 +00:00
Arvid Norberg 7e07f7469f fixed bug in web_connection_base when receiving chunked encoding and made sure the unit tests pass 2011-03-24 16:46:26 +00:00
Arvid Norberg e9459b4df8 rss fixes 2011-03-23 02:46:22 +00:00
Arvid Norberg a79fb228f2 lower default to 3 concurrent downloads 2011-03-21 04:59:03 +00:00
Arvid Norberg 2dfd1a972b prevent read jobs from starving in the disk I/O thread 2011-03-20 19:17:59 +00:00
Arvid Norberg 3d63cb98b7 log read job queue size 2011-03-20 09:04:03 +00:00
Arvid Norberg e4df633157 added another disk cache flush algorithm to minimize readback when hashing pieces 2011-03-20 05:47:27 +00:00
Arvid Norberg 1b6227ad31 report disk read-back when verifying piece hashes 2011-03-20 01:19:14 +00:00
Arvid Norberg c015e28792 more disk thread timing 2011-03-19 22:23:58 +00:00
Arvid Norberg 782bc974a1 log average disk job time instead of cache time 2011-03-18 03:07:10 +00:00
Arvid Norberg 0b25b87593 add a bunch more stats logged to session stats 2011-03-17 05:31:06 +00:00
Arvid Norberg 6db11079c8 add performance warning when disk write queue exceeds half of the write cache size 2011-03-16 07:45:51 +00:00
Arvid Norberg 7e3f69ecbf optimized disk cache flushing a bit 2011-03-16 07:21:58 +00:00
Arvid Norberg d6fbff13df measure disk sort time (phys_offset) 2011-03-15 02:21:28 +00:00
Arvid Norberg 7dde47b98a measure disk cache flush times 2011-03-15 01:44:32 +00:00
Arvid Norberg 9812626cf0 make DHT rate limit configurable 2011-03-14 07:47:24 +00:00
Arvid Norberg 4ecb9f1462 fixed performance issue in rate limited udp socket 2011-03-14 07:23:32 +00:00
Arvid Norberg a08bcf7459 change semantics of disk read time and add disk hash time 2011-03-14 05:21:46 +00:00
Arvid Norberg 27c1bc632d introduced pop_alerts() which pops the entire alert queue in a single call 2011-03-14 02:59:46 +00:00
Arvid Norberg a18f047311 minor storage fix 2011-03-13 21:07:46 +00:00
Arvid Norberg c0253d9977 increase averaging window for disk I/O timing measurements 2011-03-13 10:09:20 +00:00
Arvid Norberg c21100a9a5 log failed and redundant bytes 2011-03-13 04:34:57 +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 1b09879e2a increase the default upper limit on send buffer size to 700 kB 2011-03-10 03:19:27 +00:00
Arvid Norberg 6d9e4daa1f fixed clang build warning 2011-03-09 03:59:59 +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 c0bbac579a add export macros 2011-03-06 22:22:44 +00:00
Arvid Norberg dbc14caedf added missing header files to makefile 2011-03-05 02:33:13 +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 0aff6803fb fix to IP filter exemptions 2011-03-02 17:37:10 +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 3b68fb2a03 add missing files 2011-02-26 17:59:34 +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 20d763c8c7 added option to not use custom assert macro 2011-02-24 18:15:15 +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 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 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 d35670e53d generalize use of getifaddrs 2011-02-15 07:42:46 +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 8bb71da401 disk write queue watermark fix 2011-02-13 22:27:02 +00:00
Arvid Norberg 4267f0ec5a rotate stats log every hour 2011-02-11 17:39:22 +00:00
Arvid Norberg e959acae42 add iconv build option 2011-02-09 09:54:45 +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 c8edb67509 fix build 2011-02-08 06:46:53 +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 42902c405c fix build 2011-02-07 16:50:57 +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 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 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 88663bfbde log more peer errors in stats log 2011-02-04 04:31:20 +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 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 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 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 4070c2d465 fixed stat_file issue on windows 2011-01-25 08:21:01 +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 41806e2e07 make alert_cast<> support 0 2011-01-24 18:20:41 +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 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 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 1dc0e71716 added torrent_error_alert when a torrent encounters an error 2011-01-22 19:06:43 +00:00
Arvid Norberg 6663f527da fixed error handling in torrent_info constructor 2011-01-19 10:07:51 +00:00
Arvid Norberg ed39e3c307 make electric fence happy by not allocating 0 bytes 2011-01-19 08:41:39 +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 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 baffe32942 debug logging fix 2011-01-16 22:28:31 +00:00
Arvid Norberg a2df36afcd fix typo 2011-01-16 20:46:17 +00:00
Arvid Norberg f6a32d0f25 use memcpy() instead of std::memcpy() 2011-01-16 20:45:18 +00:00
Arvid Norberg e31aceeda4 added error category and error codes for HTTP errors 2011-01-16 02:54:59 +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 1bc50983dc don't connect to privileged ports by default 2010-12-31 00:33:23 +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 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 ea04fbb22c support CDATA in xml parser 2010-12-29 01:59:41 +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 8c3ad6b4f3 asio debugging fixes and test_transfer fixes 2010-12-24 18:15:01 +00:00
Arvid Norberg 18228d6615 fix warning in utp_stream 2010-12-24 01:32:26 +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 491b876329 fixed some msvc warnings 2010-12-19 09:50:58 +00:00
Arvid Norberg 650f02eba7 fixed some windows build issues 2010-12-19 08:12:31 +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 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 4fcfceb087 DHT optimizations and fixes. Fixed routing table bucket splitting 2010-12-12 20:36:42 +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 1e82df3e45 support partial hash DHT lookups 2010-12-06 06:39:16 +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 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 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 134dae1c8b add missing header files to makefile install 2010-11-28 18:47:20 +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 af6ac4aca9 some solaris build fixes 2010-11-28 00:26:33 +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 d1cb2d52ff fixed build issues with with vernose logging enabled 2010-11-26 20:44:48 +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 d98a8b04a5 make storage constructor a boost.function for flexibility. Also added some documentation for trackerid 2010-11-18 17:36:11 +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 873febb894 don't flush every string printed to the log 2010-11-06 23:02:24 +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 589c560a45 fixed build with boost-1.44 2010-11-06 16:16:00 +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 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 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 40245c5774 increased the interval between switching peers for round-robin seeding 2010-10-29 02:52:42 +00:00
Arvid Norberg f84cc340df fixed a bunch of sloppy typos 2010-10-29 02:42:41 +00:00
Arvid Norberg 9b323c372d changed default choker behavior to use 8 unchoke slots (instead of being rate based) 2010-10-29 02:28:13 +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
Arvid Norberg fc1b44b560 improve error reporting of lazy_bdecode to use error_code 2010-10-28 04:01:59 +00:00
Arvid Norberg d737dd051d added support for chunked encoding for web seeds 2010-10-27 06:39:18 +00:00
Arvid Norberg 9f37b703ea mark num_connections and num_uploads as deprecated 2010-10-25 23:11:58 +00:00
Arvid Norberg 02abc5919f fixed performance counter macro 2010-10-24 08:08:24 +00:00
Arvid Norberg 07f1b74291 fixed logging build 2010-10-24 08:06:58 +00:00
Arvid Norberg 6387910a42 use rolling average instead of a history and actual average for stats. Saves memory 2010-10-24 01:22:10 +00:00
Arvid Norberg 84d81d3a82 fixed up link test to make sure library and client are using the same configuration, also factored out common code from session constructor 2010-10-24 00:44:07 +00:00
Arvid Norberg 9a461c5e46 reduce some warnings 2010-10-22 05:39:32 +00:00
Arvid Norberg cadd4f1b8d anti-leach seeding unchoke mode 2010-10-21 05:53:13 +00:00
Arvid Norberg 2ccf08e9b5 fixed bug in create torrent when adding sha1 file hashes to each file 2010-10-18 00:46:15 +00:00
Arvid Norberg eba657d8ad reports redundant downloads to tracker, fixed downloaded calculation to be more stable when not including redundant. Improved redundant data accounting to be more accurate 2010-10-18 00:10:33 +00:00
Arvid Norberg 3948ca3179 fixed bugs in http seed connection and added unit test for it 2010-10-17 16:15:32 +00:00
Arvid Norberg 559c4bdf65 fixed some msvc warnings 2010-10-16 15:24:45 +00:00
Arvid Norberg 7bd25edc9d generalize SSL support to also include web seeds (and in theory regular peers) 2010-10-12 08:57:43 +00:00
Arvid Norberg 43b29c3627 support web seeds in create_torrent and fix issue when building without deprecated functions 2010-10-10 21:06:35 +00:00
Arvid Norberg 72322dbc10 allow extending web seeds with extra headers and custom authorization schemese 2010-10-10 18:43:58 +00:00
Arvid Norberg 3b550ece98 don't save settings that are set to the default value 2010-10-10 02:22:57 +00:00
Arvid Norberg e494cb219b made seeding choking algorithm configurable 2010-10-09 21:11:03 +00:00
Arvid Norberg 21cbd1fac4 deprecated setters for max connections, max half-open, upload and download rates and unchoke slots. These are now set through session_settings 2010-10-09 19:09:38 +00:00
Arvid Norberg 45f535e80c fixed build (with fresh boost) 2010-10-09 02:58:56 +00:00
Arvid Norberg 8212d2f161 document the new proxy interface and deprecate it in the 0.15 branch 2010-10-07 06:02:35 +00:00
Arvid Norberg e72d95384b added missing include 2010-10-04 16:12:51 +00:00
Arvid Norberg 440abdfaf2 optimistic unchoke fix 2010-10-04 04:06:14 +00:00
Arvid Norberg f11b1ce6a0 fixed failing invariant check in peer_connection's download queue 2010-10-03 22:06:53 +00:00
Arvid Norberg 8e4addf2c5 improved set_max_connections to immediately disconnect peers to match the new limit 2010-10-03 10:07:38 +00:00
Arvid Norberg a7c87e14dd added functions to query an individual peer's upload and download limit 2010-10-01 16:09:22 +00:00
Arvid Norberg cd08a61f35 expose the full peer list size through session_status 2010-10-01 04:07:38 +00:00
Arvid Norberg 29c5b99bba fixed natpmp retry issue 2010-09-30 06:33:42 +00:00
Arvid Norberg ecf13f2475 fixed typo in config relating to buffer debug builds 2010-09-26 00:44:14 +00:00
Arvid Norberg 554e329f57 remove udp_socket mutex 2010-09-25 21:39:27 +00:00
Arvid Norberg e6d400084e fix to start async operations inside the network thread to maintain thread safety within asio 2010-09-25 20:07:27 +00:00