Arvid Norberg
|
ef1d8b5921
|
fix build
|
2012-01-20 06:07:19 +00:00 |
Arvid Norberg
|
ed56520d24
|
more asserts around state updates
|
2012-01-20 05:40:32 +00:00 |
Arvid Norberg
|
4a40e68a82
|
landed ssl branch back into trunk
|
2012-01-14 16:04:25 +00:00 |
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 |
Arvid Norberg
|
e289b9c6ac
|
build fixes
|
2009-09-20 15:21:31 +00:00 |
Arvid Norberg
|
0f62beebb3
|
improved compile time by moving rate limiter implementation to a cpp file and making it a non-template
|
2009-09-16 04:41:35 +00:00 |
Arvid Norberg
|
6c67da08d6
|
split socket.hpp up in multiple headers to lower build time somewhat
|
2009-09-16 03:46:36 +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
|
137d2d63f5
|
cleaned up policy. Moved logic from policy to torrent
|
2009-07-23 04:38:52 +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
|
07bcb3545a
|
converted a whole lot of error strings into error_codes. Documented some previously undocumented alerts as well as all the error codes
|
2009-06-12 16:40:38 +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 |
Andrew Resch
|
6242ae051e
|
added ability to give seeding torrents preference to active slots
|
2009-05-27 19:27:12 +00:00 |
Daniel Wallin
|
68629eb6bc
|
Split peer list into IPv4 and IPv6 peers. Saves 12 bytes per IPv4 peer.
|
2009-05-24 21:49:19 +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
|
31c422df0a
|
added feature to set a separate global rate limit for local peers
|
2009-05-14 17:21:19 +00:00 |
Arvid Norberg
|
1eb2799a03
|
added more allocation logging for statistics builds. Identified and fixed some memory waste
|
2009-05-07 20:30:20 +00:00 |
Arvid Norberg
|
c8176cca55
|
optimized peer storage in resume data an in memory. Should use far less memory than previously for the peer list. Introduced peer source affinity, to avoid problem with a peer list that's diluted with stale peers
|
2009-05-06 22:36:24 +00:00 |
Arvid Norberg
|
641abc6c4a
|
slight memory optimization and some header cleanup
|
2009-05-03 20:21:24 +00:00 |
Arvid Norberg
|
d73c97e444
|
made get_download_queue() use considerably less memory and scale with larger piece_sizes
|
2009-05-03 09:45:07 +00:00 |
Arvid Norberg
|
84dda7b617
|
support for adjusting the socket buffer sizes through session_settings
|
2009-05-01 04:59:15 +00:00 |
Arvid Norberg
|
6ca1c191b6
|
some windows fixes for dynamic linking
|
2009-04-30 17:30:14 +00:00 |
Arvid Norberg
|
3cf34e3a91
|
greatly optimised memory usage for peer list
|
2009-04-30 05:49:46 +00:00 |
Arvid Norberg
|
7109b86566
|
greatly simplified the rate limiter and generalized all rate limits (peer, torrent, global) to allow for arbitrary rate limit configurations
|
2009-04-26 00:21:59 +00:00 |
Arvid Norberg
|
6a11d6ee4e
|
IPv6 tracker fix
|
2009-04-12 00:37:06 +00:00 |
Arvid Norberg
|
41be942ae7
|
experimental support for incoming connections over socks (untested)
|
2009-04-09 01:04:49 +00:00 |
Arvid Norberg
|
aba5b2e9d0
|
dropped some iostream dependencies
|
2009-04-04 09:52:25 +00:00 |
Arvid Norberg
|
db8487be46
|
auto unchoke improvement
|
2009-04-04 07:55:34 +00:00 |
Arvid Norberg
|
982cf7f7f7
|
improved support for platforms with no wchar_t and std::wstring
|
2009-03-31 08:12:35 +00:00 |
Arvid Norberg
|
b25a8db2a6
|
added more error codes. consolidated exception classes into one. moved over more places to use error_code instead of strings. fixed proper error handling for torrent_info
|
2009-02-23 01:21:19 +00:00 |
Arvid Norberg
|
76cea23b4c
|
cleanup of previous check-in. fixing boost-1.34 compatibility and syntax error
|
2009-01-23 17:06:23 +00:00 |
Arvid Norberg
|
9b5aa967b0
|
fixed race condition when saving DHT state
|
2009-01-23 16:40:00 +00:00 |
Arvid Norberg
|
b3a17b1787
|
added disk buffer instrumentation and log parser
|
2009-01-23 09:13:31 +00:00 |
Arvid Norberg
|
dacb1ac48d
|
reverted async. call to torrent::start() since it creates an undesirable race condition for file operations
|
2009-01-02 08:58:51 +00:00 |
Arvid Norberg
|
415a574cca
|
tweaked send buffer sizes to make buffers addresses aligned
|
2008-12-27 17:00:06 +00:00 |
Arvid Norberg
|
952ed687cd
|
made session stats config build
|
2008-12-26 07:00:21 +00:00 |
Arvid Norberg
|
7b8663fa8b
|
support for wide character paths for the GeoIP databases. Fixes #431
|
2008-12-21 08:48:06 +00:00 |
Arvid Norberg
|
f1d981254a
|
added session::set_alert_dispatch() for system specific message loop integration
|
2008-12-15 07:12:08 +00:00 |
Arvid Norberg
|
3d136a8e93
|
fixed logging build
|
2008-12-02 08:29:45 +00:00 |
Arvid Norberg
|
09b3a865ef
|
fixed compiler flags in pkg-config file and made header files not depend on the NDEBUG define
|
2008-11-29 21:33:21 +00:00 |
Arvid Norberg
|
a48ffe36e0
|
improved natpmp logging and handling of mapped ports in session
|
2008-11-16 02:11:04 +00:00 |
Arvid Norberg
|
4abd27b40e
|
initialize torrent object in libtorrent thread instead of in calling thread
|
2008-11-10 02:33:39 +00:00 |
Arvid Norberg
|
9bba20cdb4
|
first pass at rate limited udp socket (for DHT)
|
2008-11-08 17:40:06 +00:00 |
Arvid Norberg
|
49c01d7754
|
moved UPNP_LOGGING out of upnp.cpp and added alerts for when upnp logs something
|
2008-10-22 01:12:14 +00:00 |
Arvid Norberg
|
f04e9e9875
|
made unchoke interval depend on piece size
|
2008-10-18 22:35:10 +00:00 |
Arvid Norberg
|
b355541a7d
|
applied patch from Sergei Vorobyov to allow changing the limit on outstanding alerts
|
2008-10-07 05:46:42 +00:00 |
Arvid Norberg
|
c88071ae10
|
fixed race when adding router nodes to the dht (router nodes should be added before it's started)
|
2008-09-02 06:37:40 +00:00 |
Arvid Norberg
|
96ca475652
|
added redundant and failed byte counters to session
|
2008-07-11 07:30:04 +00:00 |