Commit Graph

506 Commits

Author SHA1 Message Date
Arvid Norberg 6f19f9a063 lt_trackers is no longer a default extension 2014-12-10 09:59:24 +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 cea5585993 remove stats logging functionality from libtorrent. This has been moved to a helper class part of libtorrent-webui, utility library 2014-10-21 19:58:12 +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 d296960efa fix build with verbose logging 2014-10-04 19:54:12 +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 27b7705cf2 remove built-in GeoIP support 2014-09-21 21:01:48 +00:00
Arvid Norberg 45d8e36da4 merged Steve Siloti's refactoring patch of inter-thread calls into session_impl 2014-08-26 04:51:09 +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 a1e7d3229d improve queuing logic of inactive torrents (dont_count_slow_torrents) 2014-05-18 22:17:51 +00:00
Arvid Norberg 87a05814e5 fix msvc-7.1 build 2014-03-24 07:42:55 +00:00
Arvid Norberg 682ceff21b improve messaging of assert caused by precondition violation 2014-03-23 07:40:43 +00:00
Arvid Norberg fd26cc026b merged http_connection tweak from RC_0_16 2014-03-03 00:09:06 +00:00
Arvid Norberg 86c704a6ff fix dht_bootstrap_alert being posted. add additional alert for dht put completion. add utility to test immutable put/get. fix issue in DHT preventing stores on router nodes (even when they return write tokens). immutable put and get confirmed to be working 2014-02-28 04:02:48 +00:00
Arvid Norberg 1188ec2dcd expose new DHT put/get functionality in the public session API 2014-02-24 00:31:13 +00:00
Arvid Norberg a943fec777 update copyright 2014-02-23 19:12:25 +00:00
Arvid Norberg 53a62344ca fix port mapping functions in session 2013-12-31 22:24:56 +00:00
Arvid Norberg 3858025c3c expose UPnP and NAT-PMP mapping in session object 2013-12-31 20:42:37 +00:00
Arvid Norberg 4e6b1cfbfb update copyright 2013-12-25 17:07:16 +00:00
Arvid Norberg 4b81b3f90b move some defines from headers to cpp files (to improve ABI stability). add some documentation. regenerate html. minor fixes to documentation script 2013-12-19 05:35:47 +00:00
Arvid Norberg a05103154b remove debug logging to print field offsets and struct sizes 2013-12-02 10:00:03 +00:00
Arvid Norberg d120dc1bc4 documentation 2013-11-19 17:57:16 +00:00
Arvid Norberg 06678f0d3c removed old left-over defines 2013-11-17 18:54:54 +00:00
Arvid Norberg 9e610dca46 increase the default session tick interval 2013-10-26 00:39:47 +00:00
Arvid Norberg 33ced8c0ec lower dht rate limit to 20 kB in high performance seed 2013-10-14 19:04:30 +00:00
Arvid Norberg b754e5391a merge max allowed outstanding piece requests from peers from RC_0_16 2013-09-18 06:50:49 +00:00
Arvid Norberg 955c369168 fix backwards compatibility with tracker_url and async_add_torrent 2013-09-10 23:35:37 +00:00
Arvid Norberg 275c340231 make socket buffer sizes affect the udp socket as well. for high_performance_seed preset, set 1 MB socket buffers. only run test_rate() in proper release mode (without invariant checks and debug-iterators). lower the time limit of test_rate. update regression tests to disable invariant checks and debug iterators when building release mode 2013-09-02 09:24:34 +00:00
Arvid Norberg e7db8d37a2 merge deprecation of wstring overloads from RC_0_16 2013-08-02 05:03:22 +00:00
Arvid Norberg beae6cece0 merged ssl fix from RC_0_16 2013-07-28 15:06:28 +00:00
Arvid Norberg f23ec7e727 merged fix from RC_0_16 2013-07-25 03:02:06 +00:00
Arvid Norberg a401aa0337 cleaned up public interface by removing some symbols from the exported set 2013-07-19 19:06:27 +00:00
Arvid Norberg 9c9135bfc4 don't use pointers to resume_data and file_priorities in add_torrent_params 2013-07-17 20:21:48 +00:00
Arvid Norberg 9803b6a15f fix build issue when asserts are disabled 2013-06-14 21:11:28 +00:00
Arvid Norberg 50ecb07d19 merged silencing of warnings from RC_0_16 2013-06-14 16:41:47 +00:00
Arvid Norberg b4161aea6e enable anonymous_mode by default 2013-04-26 16:32:35 +00:00
Arvid Norberg 520b8bfcd1 move out alert_manager to its own compilation unit. remove TORRENT_DISABLE_EXTENSIONS from affecting the public API 2013-04-09 02:38:11 +00:00
Arvid Norberg df4fcaaeed remove disable-dht build configuration from the public API (simplify linking) 2013-04-09 01:04:43 +00:00
Arvid Norberg 372dd935f1 make disk cache pool allocator configurable 2013-03-21 01:18:39 +00:00
Arvid Norberg 57e95879ec bump request queue sizes in high performance mode 2013-03-16 21:52:54 +00:00
Arvid Norberg a2a4b61b5d fix library ABI to not depend on logging being enabled 2013-03-10 09:19:58 +00:00
Arvid Norberg 5bc3028291 make some stats more configurable and reorder some fields 2013-02-23 22:13:25 +00:00
Arvid Norberg 5cf8aa57f4 anonymous mode should default to false. minor fixes 2013-02-19 08:14:16 +00:00
Arvid Norberg 86a2569728 separate anonymous mode and force-proxy mode, and tighten it up a bit 2013-02-19 06:48:53 +00:00
Arvid Norberg d6fecf4c34 make condition variable c++11 compatible 2013-01-21 22:52:34 +00:00
Arvid Norberg ac5a9e9882 introduce global connection priority for improved swarm performance 2012-12-31 06:54:54 +00:00
Arvid Norberg 6ef8f5cfce merged bumped alert queue size 2012-12-16 17:46:20 +00:00
Arvid Norberg 8ba970018c make bottled http requests response size limit configurable and bump default to 2 MiB 2012-10-19 01:28:47 +00:00
Arvid Norberg bff648a89e update copyright dates and add tool to do so 2012-10-02 03:16:33 +00:00
Arvid Norberg 4ea4d32554 merge active_tracker_limit increase and logging polish from RC_0_16 2012-09-27 23:50:15 +00:00
Arvid Norberg a84c5e0e85 disable support for large MTUs in uTP until it is more reliable 2012-08-12 15:54:59 +00:00
Arvid Norberg 57769bab11 fix some compiler warnings 2012-06-25 14:17:51 +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 66ed31dd4b send redundant have messages, otherwise super seeding breaks (broke test_swarm) 2012-04-26 16:37:45 +00:00
Arvid Norberg 17747a0e15 change default of rate_limit_utp to true 2012-04-15 04:32:46 +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 418c1e8190 make tracker back-off configurable 2012-03-29 03:51:22 +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 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 315ff0bb83 exporting min_memory_usage() and high_performance_seed() functions from DLL 2012-01-04 12:36:58 +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 3b1a332d6e fix error reporting for session::add_torrent 2011-11-02 17:08:47 +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 2741563711 set alert_mask early 2011-10-08 09:52:36 +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 c83865b8ac move set_alert_dispatch out of deprecated function ifdef block 2011-09-16 04:03:54 +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 de799e1100 fix issue in session_impl::remove_torrent which would cause it to throw 2011-06-21 02:02:58 +00:00
Arvid Norberg 78c6bd3b08 fix signature for set_alert_mask 2011-06-13 16:46:46 +00:00
Arvid Norberg f60e88e7f8 fix crash when passing in an uninitialized entry to session::load_state 2011-06-05 06:42:51 +00:00
Arvid Norberg dab3d5706f for high performance preset, support accepting many connections simultaneously 2011-04-27 08:06:44 +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 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 428ab186af it appears the write queue performs just as good at 10 MB as 50 MB 2011-03-27 22:22:57 +00:00
Arvid Norberg a0ceaed11d set read_job_every to 100 instead of 1000 in high_performance_seed preset 2011-03-27 06:16:39 +00:00
Arvid Norberg 29a523401e bump read_job_every for high performance seeds 2011-03-24 00:50:45 +00:00
Arvid Norberg 4a40a13a6c lower disk write queue limit for high performance preset 2011-03-20 19:04:37 +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 3734ccae24 lower disk queue size for high-performance-seed preset 2011-03-17 14:14:29 +00:00
Arvid Norberg 2f7dea83ee update high_performance_seed preset 2011-03-15 07:47:03 +00:00
Arvid Norberg d6fbff13df measure disk sort time (phys_offset) 2011-03-15 02:21:28 +00:00
Arvid Norberg 9812626cf0 make DHT rate limit configurable 2011-03-14 07:47:24 +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 962bb30835 update high-performace-seed settings preset 2011-03-13 04:46:33 +00:00
Arvid Norberg caf3ee350b shuffle around session member functions 2011-03-09 02:34:13 +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 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 6018f82c00 bump max queued_disk_bytes in high_performance_seed 2011-02-02 08:01:22 +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 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 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 6db9c5be31 update settings presets 2011-01-22 01:36:57 +00:00
Arvid Norberg 6663f527da fixed error handling in torrent_info constructor 2011-01-19 10:07:51 +00:00
Arvid Norberg c223291fb4 added support for RSS feeds 2011-01-18 03:41:54 +00:00
Arvid Norberg 26053e4b76 support adding torrents by url to a .torrent file 2010-12-30 01:47:30 +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 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 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 e5f980d80d merged uTP branch into trunk (yay) 2010-11-29 01:33:05 +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 fc1b44b560 improve error reporting of lazy_bdecode to use error_code 2010-10-28 04:01:59 +00:00
Arvid Norberg 07f1b74291 fixed logging build 2010-10-24 08:06:58 +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 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 02668e8f75 fix message posting to work from multiple threads 2010-08-26 17:00:24 +00:00
Arvid Norberg b747cdab8a merged all proxy settings into a single one 2010-08-23 06:27:18 +00:00
Arvid Norberg ac3444c71e fixed calling blocking functions simultaneously from multiple threads 2010-08-08 17:17:33 +00:00
Arvid Norberg a3d95677b0 fixed build errors from last check-in 2010-07-14 07:38:35 +00:00
Arvid Norberg 4e576f93fd removed the session mutex for improved performance 2010-07-14 04:16:38 +00:00
Arvid Norberg 26c4a819c8 removed the reuse-address flag on the listen socket 2010-06-17 17:14:56 +00:00
Arvid Norberg e07bad0686 optimized disk I/O cache clearing 2010-05-13 15:01:20 +00:00
Arvid Norberg dce2edb6cc fixed vs 2010 build 2010-04-30 19:08:16 +00:00
Arvid Norberg 7e851818b1 support more fine-grained torrent states between which peer sources it announces too 2010-03-29 00:34:04 +00:00
Arvid Norberg 06a043a489 add send_watermark_factor 2010-03-12 02:36:55 +00:00
Arvid Norberg 013cef68e8 add flags to session::save_state to filter what is saved 2010-03-06 07:49:40 +00:00
Arvid Norberg 281b6368f7 deprecate old state saving functions, merge dht state with session state 2010-03-04 16:42:39 +00:00
Arvid Norberg fb47469834 experimental support for the BitTyrant choking algorithm 2010-02-09 03:04:41 +00:00
Arvid Norberg a046850130 support disk I/O priority setting 2010-01-23 03:02:32 +00:00
Arvid Norberg c9b594fde1 support sending suggest messages based on what's in the read cache. support 'explicit read cache' 2010-01-15 16:45:42 +00:00
Arvid Norberg 1d04c4dcd0 added session saving and loading functions 2009-12-03 05:11:57 +00:00
Arvid Norberg a5586d154d more header dependency optimizations 2009-11-25 06:55:34 +00:00
Arvid Norberg 6343fe6a6d optimized header dependencies to lower build time 2009-11-23 08:38:50 +00:00
Arvid Norberg 51ef057498 more unicode and wstring fixes 2009-10-29 18:12:43 +00:00
Arvid Norberg c418165e07 replaced boost.filesystem with custom functions (improves efficiency and drops unnecessary dependencies and improves libtorrent portability) 2009-10-26 01:29:39 +00:00
Arvid Norberg 65eb4db727 added session::is_dht_running 2009-10-24 21:55:16 +00:00
Arvid Norberg 4a5e0b7cf1 fixed typo 2009-10-22 18:47:40 +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 95f543b43b fixed natpmp/upnp message typo 2009-08-28 06:48:37 +00:00
Arvid Norberg 6078dd06b0 removed the last dependency on iostream and lexical cast 2009-08-25 18:13:46 +00:00
Arvid Norberg 45fd696bc6 added I2P support 2009-08-20 03:19:12 +00:00
Arvid Norberg a75052c193 increase send buffer watermark in high_performance_seed preset 2009-08-17 17:33:57 +00:00
Arvid Norberg 0f376a2578 fixed typo 2009-08-02 09:32:25 +00:00
Arvid Norberg cc4084f943 increased cache line size for high performance seeds 2009-08-02 04:50:17 +00:00
Arvid Norberg 3cfa5c1932 log_time fix 2009-08-02 01:42:12 +00:00
Arvid Norberg 6a3cdd5117 increase disk buffer chunk size for high performance seeds 2009-07-28 06:29:13 +00:00
Arvid Norberg b437e2c743 fixed get_ip_filter 2009-07-21 04:42:19 +00:00
Andrew Resch c401c65dfb Add get_ip_filter() to session 2009-07-21 01:52:37 +00:00
Arvid Norberg 8af5211fb5 fix deadlock when upnp or natpmp fails to start 2009-06-13 10:45:07 +00:00
Arvid Norberg f20f63f865 fixed deadlock in some session member functions 2009-06-13 04:09:54 +00:00
Arvid Norberg f0134c1b11 improved disk error handling and expanded use of error_code in error reporting 2009-06-10 08:30:55 +00:00
Arvid Norberg 64c8834fbb updated tuning document for seed boxes 2009-05-27 06:37:45 +00:00
Arvid Norberg e3c07c0934 converted some recursive mutexes to regular ones 2009-05-23 21:36:09 +00:00
Arvid Norberg 0127edac14 added disk-checking delay, to leave room for other disk operations while checking a torrent 2009-05-22 06:32:39 +00:00
Arvid Norberg 31c422df0a added feature to set a separate global rate limit for local peers 2009-05-14 17:21:19 +00:00
Arvid Norberg b7c5d2f12d add a separate setting for max peer list size for paused torrents 2009-05-13 01:34:10 +00:00
Arvid Norberg 85bf463e11 added session setting to control disk buffer pool allocation sizes 2009-05-12 18:52:05 +00:00