Commit Graph

278 Commits

Author SHA1 Message Date
Arvid Norberg 152cee19f1 add compile-time feature to enable logging of all peer requests 2011-12-29 12:15:29 +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 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 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 96adfc2ad5 windows build fixes 2011-11-13 05:51:03 +00:00
Arvid Norberg 15f20c887d fix msvc build 2011-10-22 17:44:40 +00:00
Arvid Norberg 7d20c0b0c4 log CPU usage of network thread 2011-10-17 17:12:08 +00:00
Arvid Norberg 8b6522a763 log buffer sizes passed to read() and write() at the socket layer (to identify performane problems) 2011-10-17 06:54:02 +00:00
Arvid Norberg aab4cb6937 log number of asio messages passed through the queue per second (to track down performance issue) 2011-10-17 05:17:21 +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 469414d486 initial BitTorrent over SSL support 2011-09-12 03:51:49 +00:00
Arvid Norberg 92bcb9ebfd feature to encrypt peer connections with a secret AES-256 key stored in .torrent file 2011-09-05 05:50:41 +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 3ba914b419 fix build 2011-06-14 06:10:35 +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 a73960aa5a support release asserts 2011-05-08 09:04:59 +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 ddd21cb526 missing change from last check-in 2011-03-27 20:46:20 +00:00
Arvid Norberg e9459b4df8 rss fixes 2011-03-23 02:46:22 +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 27c1bc632d introduced pop_alerts() which pops the entire alert queue in a single call 2011-03-14 02:59:46 +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 f90f9f6609 fixed alert queue size limit bug when restoring setting from session state 2011-03-07 00:36:51 +00:00
Arvid Norberg 019b682cf9 fixed logging build 2011-03-04 07:00:27 +00:00
Arvid Norberg 0aff6803fb fix to IP filter exemptions 2011-03-02 17:37:10 +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 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 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 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 e079907252 more end-game piece picker optimization (early exit) 2011-02-08 04:08:04 +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 88663bfbde log more peer errors in stats log 2011-02-04 04:31:20 +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 d393bb4097 report number of peers blocked on disk in session_status 2011-01-30 10:04:15 +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 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 c223291fb4 added support for RSS feeds 2011-01-18 03:41:54 +00:00
Arvid Norberg ae41b2598b fix non-dht build 2010-12-29 02:17:44 +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 451c583023 more robust mechanism to determine external IP 2010-12-24 01:31:41 +00:00
Arvid Norberg 650f02eba7 fixed some windows build issues 2010-12-19 08:12:31 +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 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 e5f980d80d merged uTP branch into trunk (yay) 2010-11-29 01:33:05 +00:00
Arvid Norberg d1cb2d52ff fixed build issues with with vernose logging enabled 2010-11-26 20:44:48 +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 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 e6d400084e fix to start async operations inside the network thread to maintain thread safety within asio 2010-09-25 20:07:27 +00:00
Arvid Norberg b747cdab8a merged all proxy settings into a single one 2010-08-23 06:27:18 +00:00
Arvid Norberg f70fbb45c0 optimized struct layout of torrent_info. removed boost.date_type types from public interface (replaced by time_t) 2010-08-21 22:10:16 +00:00
Arvid Norberg afd5567969 session::set_tracker_proxy fix for udp trackers 2010-08-21 22:07:29 +00:00
Arvid Norberg fd5f1bf80b improved SOCKS5 support 2010-08-03 09:08:37 +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 a0cef76bf2 fixed race condition around m_abort in session_impl 2010-06-24 21:43:00 +00:00
Arvid Norberg 26c4a819c8 removed the reuse-address flag on the listen socket 2010-06-17 17:14:56 +00:00
Arvid Norberg cdf05a9c9c moved UDP trackers over to use a single socket 2010-05-30 01:33:03 +00:00
Arvid Norberg 384bfdec48 added anonymous mode to disable some particular features that might give away the user's and the client's identity 2010-04-13 04:30:34 +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 c14042b29e remove unused declarations and added a small piece of documentation 2010-03-25 04:47:56 +00:00
Arvid Norberg b78aca9a53 fixed logging build 2010-03-20 09:35:45 +00:00
Arvid Norberg 79bd8fcd52 made the default cache size depend on the amount of physical RAM. and fixed disk thread settings update when loading through load_state 2010-03-10 07:14:10 +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 9d6cdb0c89 solaris build fixes 2010-03-03 07:42:51 +00:00
Arvid Norberg 5c02f3df59 fixed DHT bootstrapping issue 2010-02-14 07:46:57 +00:00
Arvid Norberg c050b22d8f optimized memory usage for torrent objects 2010-02-14 01:39:55 +00:00
Arvid Norberg fb47469834 experimental support for the BitTyrant choking algorithm 2010-02-09 03:04:41 +00:00
Arvid Norberg 088f4bf700 improved LSD performance and made the interval configurable 2010-02-05 08:23:17 +00:00
Arvid Norberg 859f412189 support an arbitrary number of optimistic unchoke slots 2010-02-02 18:39:32 +00:00
Arvid Norberg 3bc40b9980 fix builds for all combinations of stats and disk stats 2010-01-31 20:32:12 +00:00
Arvid Norberg d959331c1e renamed some torrent check queue related functions to be more descriptive 2010-01-17 21:42:14 +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 d157af5305 build fixes 2009-12-28 20:59:34 +00:00
Arvid Norberg 25798ba1fa timer initialization fix 2009-12-13 16:32:07 +00:00
Arvid Norberg ff2063651b build fixes 2009-12-03 17:44:11 +00:00
Arvid Norberg 1d04c4dcd0 added session saving and loading functions 2009-12-03 05:11:57 +00:00
Arvid Norberg 8dd244581d header optimizations 2009-11-26 05:45:43 +00:00
Arvid Norberg 15c4842cea another header optimization 2009-11-23 17:05:26 +00:00
Arvid Norberg 6343fe6a6d optimized header dependencies to lower build time 2009-11-23 08:38:50 +00:00
Arvid Norberg 4b52b57bf0 fixed some compiler warnings 2009-11-11 05:22:57 +00:00
Arvid Norberg 51ef057498 more unicode and wstring fixes 2009-10-29 18:12:43 +00:00
Arvid Norberg dcd8bb6718 move stats instrumentation to .cpp file to fix header dependency issue 2009-10-28 19:56:18 +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 9d1989904b some compatibility fixes. 2009-10-20 16:44:11 +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
cristiangreco 70b0edb9f4 fix to not install the local copy of GeoIP.h when linking against system
libgeoip.
2009-10-12 20:56:17 +00:00