Commit Graph

152 Commits

Author SHA1 Message Date
Arvid Norberg 9b91508c38 clean up session_interface and tracker_manager a bit. work on making tracker_manager more testable 2015-02-01 14:30:43 +00:00
Arvid Norberg 223154b1f1 fix build 2015-01-13 22:40:16 +00:00
Arvid Norberg d140d71e1a extend logging of UDP tracker announces (to track down unit test flapping) 2015-01-13 21:34:43 +00:00
Arvid Norberg 09bc1550e9 simplify the debug logging mechanism. There's now only one build option, logging=on or logging=off. When logging is enabled, the log level is controlled by the alert mask. All log events are delivered as alerts and it's up to the client to write them to disk in whatever way seems appropriate. removed the pointless logger plugin 2014-12-09 09:08:26 +00:00
Arvid Norberg 3db32f67b5 remove option TORRENT_DISABLE_FULL_STATS 2014-10-21 21:45:35 +00:00
Arvid Norberg 7249122329 move tracker transfer counters over to use performance_counters internally as well 2014-10-21 21:24:15 +00:00
Arvid Norberg 6aa0ae9f2e fix tracker_manager argument forwarding 2014-10-21 04:22:10 +00:00
Arvid Norberg 9b37efe6a8 first steps towards removing session_impl dependency from tracker connections, to improve their testability 2014-10-21 00:28:51 +00:00
Arvid Norberg ffb66ec156 transition tracker_connections to use shared_ptr instead of intrusive_ptr. optimize udp tracker connection lookups by using unordered map instead of linear search. 2014-10-20 20:44:05 +00:00
Arvid Norberg ceccc2a483 land branch to remove half-open connection limit / connection queue 2014-10-03 20:56:57 +00:00
Arvid Norberg 7351389ce8 land libtorrent_aio branch in trunk 2014-07-06 19:18:00 +00:00
Arvid Norberg 6043e14131 remove pch.hpp 2014-06-28 23:45:46 +00:00
Arvid Norberg e225259481 fix some msvc warnings 2014-05-10 03:23:05 +00:00
Arvid Norberg a943fec777 update copyright 2014-02-23 19:12:25 +00:00
Arvid Norberg 4e6b1cfbfb update copyright 2013-12-25 17:07:16 +00:00
Arvid Norberg 5812e8415d merged fix from RC_0_16 2013-11-02 23:08:26 +00:00
Arvid Norberg dde078cdf7 fix ambiguity invoking min 2013-11-01 23:13:53 +00:00
Arvid Norberg bff648a89e update copyright dates and add tool to do so 2012-10-02 03:16:33 +00:00
Arvid Norberg acdb647eca merged udp tracker fix from RC_0_16 2012-10-01 00:13:58 +00:00
Arvid Norberg 5e2ff1a246 merged logging cleanup from RC_0_16 2012-09-27 23:04: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 986cee3417 fix tracker stopping issue on session shutdown 2011-09-16 08:34:17 +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 40ed231366 fixed tracker timeout handling 2010-11-18 01:06:33 +00:00
Arvid Norberg fd5f1bf80b improved SOCKS5 support 2010-08-03 09:08:37 +00:00
Arvid Norberg 4e576f93fd removed the session mutex for improved performance 2010-07-14 04:16:38 +00:00
Arvid Norberg 9cec6a6255 fixed iterator bug introduced when merging the udp trackers over to use the main udp socket 2010-06-30 07:21:34 +00:00
Arvid Norberg b882914461 refactored socket reading code to not use async. operations unnecessarily 2010-06-18 04:43:20 +00:00
Arvid Norberg cdf05a9c9c moved UDP trackers over to use a single socket 2010-05-30 01:33:03 +00:00
Arvid Norberg dce2edb6cc fixed vs 2010 build 2010-04-30 19:08:16 +00:00
Arvid Norberg 5adb8d5533 the proper fix 2010-03-02 03:55:47 +00:00
Arvid Norberg d5e891c87c fixed tracker error report bug 2010-03-02 03:33:27 +00:00
Arvid Norberg aa5fc72fbf made tracker errors use error_code 2010-02-23 21:53:45 +00:00
Arvid Norberg 0fc90b5655 fixed support for min-interval on tracker failures 2009-12-21 09:47:32 +00:00
Arvid Norberg 6343fe6a6d optimized header dependencies to lower build time 2009-11-23 08:38:50 +00:00
Arvid Norberg 8a5b7d5d36 got rid of the last recursive mutexes. abstracted the threading primitives (and switched over to use asio's internal ones). 2009-10-20 02:49:56 +00:00
Arvid Norberg 45fd696bc6 added I2P support 2009-08-20 03:19:12 +00:00
Arvid Norberg fffda3c738 fixed tracker error race condition 2009-06-23 01:52:44 +00:00
Arvid Norberg f05777c2c2 fixed shutdown issue when trackers times out (introduced with the timer optimization) 2009-05-25 23:12:06 +00:00
Arvid Norberg e3c07c0934 converted some recursive mutexes to regular ones 2009-05-23 21:36:09 +00:00
Arvid Norberg 437cb94fd0 improved IPv6 support by announcing twice when necessary 2009-05-15 21:23:41 +00:00
Arvid Norberg aba5b2e9d0 dropped some iostream dependencies 2009-04-04 09:52:25 +00:00
Arvid Norberg de911676ed added asserts to make sure tracker_connections are shut down correctly (#451) 2008-12-25 02:05:23 +00:00
Arvid Norberg dc6564fa11 applies ip filter to trackers as well 2008-10-22 19:40:32 +00:00
Arvid Norberg 1ac3b8298c report tracker bandwidth usage and include it in rate limiter 2008-09-22 00:15:05 +00:00
Arvid Norberg 3077fdcb6a fix crash when tracker connections fails in the constructor (used to be the case for scrape when there were no url transform from announce to scrape) 2008-09-07 10:03:59 +00:00
cg25 ff3e80c42f Removed svn:executable property from {c,h}pp files in branches/RC_0_13 and
trunk.
2008-06-25 14:15:21 +00:00
Arvid Norberg 7f639e57de improved error handling with regards to parse_url_components. For trunk, moved that function to its own file 2008-05-17 14:19:34 +00:00
Arvid Norberg c7e6c04705 switched over to asio from boost-1.35 2008-05-03 16:05:42 +00:00
Arvid Norberg 3c15535d35 http_tracker_connection fix to use separate timeout when stopping a tracker 2008-03-30 19:00:37 +00:00
Arvid Norberg 92f4947bbe full proxy support for udp-trackers, and more reliable udp tracker code 2008-02-05 06:32:10 +00:00
Arvid Norberg 6caca17883 refactored gzip code and added gzip support to http_connection 2008-01-30 18:32:13 +00:00
Arvid Norberg 61bbc6e58f initial https support for trackers and http_connection. Added support for proxies to http_connection 2008-01-27 22:39:50 +00:00
Arvid Norberg 6913ae823b fixed #257 2008-01-27 20:00:56 +00:00
Arvid Norberg 695cd6407b remove use of strand 2008-01-08 05:47:43 +00:00
Arvid Norberg 1e20940c31 made tracker_manager build without exception support 2007-12-29 06:13:49 +00:00
Arvid Norberg 9727634f09 added base32encode and moved it into escape_string.hpp 2007-12-02 18:34:37 +00:00
Arvid Norberg fabfe6cd50 added scrape support 2007-11-20 22:46:27 +00:00
Arvid Norberg fd51412b70 shutdown improvements. Fixes stall 2007-11-02 00:27:53 +00:00
Arvid Norberg 9b041b1c94 fixed #191 2007-10-27 22:01:32 +00:00
Arvid Norberg 8f07edbed2 asio handlers are now properly cancelled when destructing the session object, race conditions are avoided by waiting for the io service to complete all tasks 2007-10-26 07:14:19 +00:00
Arvid Norberg 28274bf1bd improved shutdown behavior. decreased tracker timeouts to 5 seconds. added more logging 2007-10-07 18:06:56 +00:00
Arvid Norberg 966800cd5b replaced the assert macro to TORRENT_ASSERT instead of hi-jacking assert. 2007-10-05 00:30:00 +00:00
Arvid Norberg 15a193d363 fixed race condition in tracker manager 2007-09-14 02:54:15 +00:00
Arvid Norberg b05500570c added parenthesis around std::min and std::max for msvc compatibility 2007-08-16 22:14:17 +00:00
Arvid Norberg 3b8670626a merged back async_io branch into trunk 2007-06-10 20:46:09 +00:00
Arvid Norberg daba3196c3 fixed url parsing bug related to IPv6 addresses. fixes #66 2007-06-09 00:11:11 +00:00
Arvid Norberg 883773e8fa added shutdown logging and tracker manager shutdown flag 2007-05-23 01:02:46 +00:00
Arvid Norberg cbd67ed729 added support for authentication in the url_parser and added a test for it 2007-05-22 20:44:18 +00:00
Arvid Norberg 49bd69cad4 introduced a proper half open TCP connection limit. Also exposed the connection queue to let clients use the same connection limiter as libtorrent. UPnP connections and tracker connection are now also limited as well as peer connections and web seeds 2007-05-05 00:29:33 +00:00
Arvid Norberg 00948e9fc4 first attempt to implement SOCKS5 and proper HTTP proxy support. fixes #22 2007-04-25 18:26:35 +00:00
Arvid Norberg 306d015924 added a timer abstraction and replaced the use of boost.date_time. the timers used now are QueryPerformanceCounter on windows, mach_absolute_time on darwin and currently falls back on boost.date_time on other platforms. This has the advantage of being a monotonic clock, and also slightly more efficient 2007-04-04 22:27:36 +00:00
Arvid Norberg 8957b64c04 prepared for precompiled headers support. fixed issue where storage didn't lock the session properly. fixed typo in natpmp.cpp 2007-03-17 17:15:16 +00:00
Arvid Norberg 966ba81be0 fixed gcc warning on initialization order 2007-03-02 20:39:23 +00:00
Arvid Norberg 7e3a415d0b made the trackers pick the most suitable interface to connect to (IPv6/Ipv4 issue). added Mono Torrent to identify_client and dht statistics. 2007-03-02 18:40:02 +00:00
Arvid Norberg 87f7b186b0 replaced the bandwidth throttling code with a leaky bucket for better accuracy 2007-01-10 15:02:25 +00:00
Arvid Norberg 13facbdb83 added a strand for all async operations for thread safety 2006-12-15 17:47:21 +00:00
Arvid Norberg e35fc5c4be refactored extensions and added a plugin interface. fixed file.cpp for windows 2006-11-14 00:08:16 +00:00
Arvid Norberg 5ef57265bf first version with DHT support. Limited pipelining used by url-seeds. Fixed one configuration problem on FreeBSD. 2006-08-01 15:27:08 +00:00
Arvid Norberg 497112d208 *** empty log message *** 2006-06-19 22:34:25 +00:00
Arvid Norberg 1a081561c4 fixed bug in tracker_connection (spotted by tianhao qui) and fixed a performance problem in the piece picker that takes over blocks from other peers (also spotted by tianhao qui) 2006-06-17 01:29:36 +00:00
Arvid Norberg 41810b1166 merged back the asio development branch 2006-04-25 21:04:48 +00:00
Arvid Norberg 04ad901577 applied (slightly modified) patches from Allen Zhao in an attempt to make it build on vc7 2006-01-07 13:48:14 +00:00
Arvid Norberg 52e9eadb4e rollback 2005-08-25 13:11:39 +00:00
spyhole 67527bec0b rename http_settings class as http_proxy class 2005-08-24 23:08:26 +00:00
Arvid Norberg 42f8393ab0 added async. gethostbyname support and updated the makefile 2005-08-08 23:32:38 +00:00
Arvid Norberg 45e764fee4 *** empty log message *** 2005-06-21 12:25:05 +00:00
Arvid Norberg 2fabb2bf80 experimental support for filtering pieces (filter from downloading that is) 2005-05-25 10:01:01 +00:00
Arvid Norberg d9e10440f3 fixed assert bug in policy and generalized the tracker_connection observer interface a bit 2005-03-24 12:13:47 +00:00
Arvid Norberg 89b1f1f5d5 *** empty log message *** 2005-03-11 17:21:56 +00:00
Arvid Norberg d32f0ba755 fixed bug where tracker authentication was not sent to the tracker 2005-02-23 09:13:42 +00:00
Arvid Norberg bc774ff491 *** empty log message *** 2004-11-30 11:17:32 +00:00
Arvid Norberg 1fbb33f6d2 *** empty log message *** 2004-10-11 21:50:04 +00:00
Arvid Norberg 579d63f49d *** empty log message *** 2004-09-16 01:14:16 +00:00
Arvid Norberg 7f21b35a33 added support for http redirection 2004-07-25 20:57:44 +00:00
Arvid Norberg 0e0e1d3cd3 *** empty log message *** 2004-04-14 22:44:35 +00:00
Arvid Norberg 15bf2519f1 *** empty log message *** 2004-04-14 22:31:14 +00:00
Arvid Norberg 62d633e03f *** empty log message *** 2004-04-14 22:16:56 +00:00
Arvid Norberg 6867b7e79c *** empty log message *** 2004-04-14 22:13:33 +00:00
Magnus Jonsson d2566ed20a *** empty log message *** 2004-02-26 12:26:00 +00:00