Arvid Norberg
|
53a62344ca
|
fix port mapping functions in session
|
2013-12-31 22:24:56 +00:00 |
Arvid Norberg
|
4f189e921d
|
mark some expensive parts of invariant checks as expensive and disabled by default. introduce undead_peers to destruct all peer_connections in the network thread. they hang around while waiting for all outstanding disk jobs to complete. make the asio-debugging output a bit prettier
|
2013-12-05 07:42:32 +00:00 |
Arvid Norberg
|
629baa3622
|
reorder some structs to reduce padding
|
2013-11-26 02:00:02 +00:00 |
Arvid Norberg
|
cbe3a72a6e
|
merged i2p fix from RC_0_16
|
2013-10-27 19:56:37 +00:00 |
Arvid Norberg
|
4ac3d286a5
|
back port check to not destruct session_impl from its own thread
|
2013-09-29 19:37:57 +00:00 |
Arvid Norberg
|
89c3db477d
|
merge build fix with C++11 from RC_0_16
|
2013-09-25 19:44:29 +00:00 |
Arvid Norberg
|
0f57615ea3
|
attempt at fixing shut-down hang
|
2013-08-21 15:55:24 +00:00 |
Arvid Norberg
|
e7db8d37a2
|
merge deprecation of wstring overloads from RC_0_16
|
2013-08-02 05:03:22 +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
|
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
|
d21243dc9f
|
make release asserts build
|
2013-03-27 23:46:13 +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
|
a0caa0f4b2
|
disable invariant_check functions when invariant checks are disabled
|
2013-02-25 04:13:46 +00:00 |
Arvid Norberg
|
5b48490005
|
fix logging build
|
2013-02-05 06:50:38 +00:00 |
Arvid Norberg
|
f73fa778d6
|
slight refactoring to remove a dependency on session_impl in rpc_manager
|
2013-02-05 04:18:44 +00:00 |
Arvid Norberg
|
d6fecf4c34
|
make condition variable c++11 compatible
|
2013-01-21 22:52:34 +00:00 |
Arvid Norberg
|
c14916e119
|
unify session plugins and extension functors (internally)
|
2013-01-07 04:19:19 +00:00 |
Arvid Norberg
|
cd4b38cfc3
|
fix bug in disconnect candidate torrent function
|
2013-01-02 08:09:21 +00:00 |
Arvid Norberg
|
970ddba29b
|
refactor find_disconnect_candidate_torrent to match libtorrent_aio
|
2013-01-02 07:39:02 +00:00 |
Arvid Norberg
|
aab59d04c7
|
improve the external IP discovery to work with multiple external IPs (specifically IPv4 and IPv6)
|
2013-01-01 23:12:16 +00:00 |
Arvid Norberg
|
ac5a9e9882
|
introduce global connection priority for improved swarm performance
|
2012-12-31 06:54:54 +00:00 |
Arvid Norberg
|
65e02c23e8
|
improve support for loading torrents out of resume files
|
2012-11-08 02:07:10 +00:00 |
Arvid Norberg
|
f3ec86169e
|
merged swarm startup optimization from libtorrent_aio
|
2012-11-03 03:50:12 +00:00 |
Arvid Norberg
|
01f70bfd84
|
add session logging function
|
2012-10-18 15:14:18 +00:00 |
Arvid Norberg
|
9ed60479ce
|
merged udp socket fix from RC_0_16
|
2012-10-07 23:34:44 +00:00 |
Arvid Norberg
|
35032a6950
|
merge verbose logging feature from libtorrent_aio
|
2012-10-06 23:45:36 +00:00 |
Arvid Norberg
|
83754b3427
|
merged post_torrent_updates assert from libtorrent_aio
|
2012-10-06 14:31:14 +00:00 |
Arvid Norberg
|
32b4b5926a
|
merged fix from RC_0_16
|
2012-09-30 19:35:08 +00:00 |
Arvid Norberg
|
5e2ff1a246
|
merged logging cleanup from RC_0_16
|
2012-09-27 23:04:51 +00:00 |
Arvid Norberg
|
0685fb91bd
|
DHT throttling fix
|
2012-08-03 05:13:40 +00:00 |
Arvid Norberg
|
7c7b927e07
|
improve connection distribution fairness between torrents
|
2012-07-04 20:41:22 +00:00 |
Arvid Norberg
|
96aa1f162b
|
fix for udp_socket observers and some dht warning fixes
|
2012-06-30 15:30:38 +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
|
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
|
3c0e7e0a4a
|
keep counters of the number of active downloading and finished torrents in order to have a cheap way of prioritizing peer connections for downloading torrents over finished ones
|
2012-06-21 03:51:39 +00:00 |
Arvid Norberg
|
cec9a16cc1
|
back-ported observer for set_external_ip for DHT
|
2012-04-30 06:30:35 +00:00 |
Arvid Norberg
|
918dce1341
|
back-ported part of the alert_dispatcher patch for the DHT
|
2012-04-30 05:39:35 +00:00 |
Arvid Norberg
|
9b8ce67302
|
fixed bug in external IP voting
|
2012-03-19 00:31:21 +00:00 |
Arvid Norberg
|
a2521bd23c
|
fix a bunch of issues to properly support dynamic linking of libtorrent with visibility=hidden. Still requires a small patch to boost
|
2012-03-18 23:31:04 +00:00 |
Arvid Norberg
|
b58a96d76b
|
log stats of incoming piece requests
|
2012-03-09 06:24:01 +00:00 |
Arvid Norberg
|
ccf9c5a0fd
|
log more stats
|
2012-03-02 08:52:54 +00:00 |
Arvid Norberg
|
3ef9190b01
|
fix export for settings_map symbol for python binding
|
2012-02-25 08:02:52 +00:00 |
Arvid Norberg
|
eef0f03343
|
fixed session logger destruction order issue
|
2012-02-21 06:47:08 +00:00 |
Arvid Norberg
|
679abf2e57
|
this time, actually remove the encrypted torrent (AES-256 encrypted peer connections)
|
2012-02-09 06:47:22 +00:00 |
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 |