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 |
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 |
Arvid Norberg
|
e576babbb8
|
changed the alerts to have categories and to be filtered with a bitmask instead of having a severity and be filtered by a severity level.
|
2008-07-06 12:22:56 +00:00 |
Arvid Norberg
|
d396ab7b17
|
added pause and resume to the session. Fixes #349
|
2008-06-29 19:08:30 +00:00 |
Arvid Norberg
|
5923ef5b43
|
fixed file check ordering to respect the queue position. Fixes #350
|
2008-06-12 21:22:24 +00:00 |
Arvid Norberg
|
31c9d378f5
|
completed queuing. It is now possible to change and query queue position of torrents.
|
2008-05-29 03:37:19 +00:00 |
Arvid Norberg
|
777954ab3e
|
automatically scrape auto managed torrents to keep track of downloader/seed ratio
|
2008-05-19 04:06:25 +00:00 |
Arvid Norberg
|
c7e6c04705
|
switched over to asio from boost-1.35
|
2008-05-03 16:05:42 +00:00 |
Arvid Norberg
|
4d59d9eabc
|
fix build with DHT disabled
|
2008-04-24 16:57:22 +00:00 |
Arvid Norberg
|
c043d4b21d
|
initial support for queuing
|
2008-04-24 03:28:48 +00:00 |
Arvid Norberg
|
fc7dd2c5eb
|
tracker logger fix
|
2008-04-24 01:35:48 +00:00 |
Arvid Norberg
|
42f55adcce
|
support for country lookup through GeoIP
|
2008-04-11 08:46:43 +00:00 |
Arvid Norberg
|
093d912e9a
|
receive buffer optimization. added receive_buffer_size and used_receive_buffer to peer_info. changed plugin api to make use of new disk_buffer_holder type
|
2008-04-10 10:03:23 +00:00 |
Arvid Norberg
|
75ef4ec1f1
|
added option to not use pool allocators (useful when using memory debugging tools)
|
2008-04-09 05:19:11 +00:00 |
Arvid Norberg
|
d10205057e
|
port mapping update
|
2008-04-06 23:18:35 +00:00 |
Arvid Norberg
|
2e6b9c2dce
|
revamped part of the port mapping code (UPnP and NAT-PMP). Added documentation for start_{lsd,natpmp,upnp} and stop_{lsd,natpmp,upnp}
|
2008-04-06 19:17:58 +00:00 |
Arvid Norberg
|
57d75e120a
|
initial support for GeoIP (only AS mappings for now)
|
2008-04-05 04:53:22 +00:00 |
Arvid Norberg
|
a9bb9023fb
|
fixed build with logging
|
2008-03-30 18:31:30 +00:00 |
Arvid Norberg
|
45a7329d5c
|
added alert for when the client's external IP is received
|
2008-03-29 22:45:55 +00:00 |
Arvid Norberg
|
5cad17143d
|
updated udp_socket error handling
|
2008-03-25 04:46:18 +00:00 |
Arvid Norberg
|
f53cfa7eeb
|
removed checker thread
|
2008-03-08 06:06:31 +00:00 |
Arvid Norberg
|
9d3b60edb7
|
added support to bind outgoing connections to specific ports (might be useful to do traffic shaping)
|
2008-02-28 07:34:07 +00:00 |
Arvid Norberg
|
cf5c9344ab
|
made peer connection order depend on ones external IP or be random (if we don't know our external IP). Should fix #281
|
2008-02-28 03:09:34 +00:00 |
Arvid Norberg
|
df74cbb78a
|
fixed logging=errors configuration
|
2008-02-17 22:51:03 +00:00 |
Arvid Norberg
|
8cf0510144
|
added disk cache for write operations
|
2008-02-08 10:22:05 +00:00 |
Arvid Norberg
|
5d196ed555
|
auto upload slots. opens up more slots if upload rate is not met. On by default
|
2008-01-13 11:18:18 +00:00 |
Arvid Norberg
|
695cd6407b
|
remove use of strand
|
2008-01-08 05:47:43 +00:00 |
Arvid Norberg
|
cf4036310b
|
changed the way connections are disconnected. improved logging. Does not depend on exceptions anymore
|
2008-01-07 01:10:46 +00:00 |
Arvid Norberg
|
cfe5c8962e
|
more asserts around send buffers and fixes potential race condition
|
2007-12-27 21:43:11 +00:00 |
Arvid Norberg
|
8c3f9571de
|
socks5 support for udp messages
|
2007-12-09 04:15:24 +00:00 |
Arvid Norberg
|
c18ae83146
|
added wait_for_alert() to session. If there is at least one alert in the queue, it returns the front one in the queue, if the queue is empty, it waits until a new alert is posted and returns that one, or returns 0 if the time expires first.
|
2007-11-25 08:18:57 +00:00 |
Arvid Norberg
|
c929f4fb69
|
fix for systems where IPv6 sockets bound to INADDR_ANY also listens on IPv4 connections
|
2007-11-23 22:14:33 +00:00 |
Arvid Norberg
|
7be29d9b84
|
applied 'logpath' patch from #202
|
2007-11-16 21:21:28 +00:00 |
Arvid Norberg
|
1a280e31fa
|
cleanup. changed the connection map into a set of peer_connections. moved the policy object into the torrent (as opposed to being a pointer). Fixes issues with multiple peers on the same IP. Reduces some lookups.
|
2007-10-31 09:48:20 +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
|
59c7f5bfbb
|
added option to delete files from disk as a torrent is removed
|
2007-10-13 03:33:33 +00:00 |
Arvid Norberg
|
995485daeb
|
fixed destruction order issue
|
2007-10-09 22:17:16 +00:00 |
Arvid Norberg
|
4d19f7ff0f
|
storage optimization. introduced a nother allocation mode: sparse. Now there is allocate, compact and sparse. Unless compact is used, the memory structures used to keep track of pieces are no longer allocated. sparse storage mode is now the default
|
2007-10-08 20:01:36 +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
|
4cab49cbdf
|
saves banned peers in resume data
|
2007-10-03 17:37:15 +00:00 |
Arvid Norberg
|
0048f343cd
|
upnp, natpmp and lsd now have proper lifetime management by using intrusive_ptr
|
2007-09-29 21:31:51 +00:00 |
Arvid Norberg
|
b48948e231
|
changed the double send buffers to a chained buffer using iovec send operations. buffers are recycled (saves memory and cpu) and memory copies are avoided (saves cpu). More statistics is added to track buffer usage
|
2007-09-29 16:14:03 +00:00 |
Arvid Norberg
|
2e93b92cb4
|
more IPv6 fixes. support for multihomed machines by listening on multiple interfaces. added listen_succeeded_alert to advertize which interfaces are being listened on
|
2007-09-22 16:27:29 +00:00 |
Arvid Norberg
|
7bbfb3bd4b
|
added a userdata parameter to add_torrent that is passed in to plugins
|
2007-09-14 00:11:33 +00:00 |
Arvid Norberg
|
57a76f9db6
|
fixed debug assert on linux
|
2007-09-10 06:12:41 +00:00 |
Arvid Norberg
|
ee5ce50502
|
made max half open connections default to 8 on windows and added query function for that limit on session.
|
2007-09-10 01:57:40 +00:00 |
Arvid Norberg
|
c8088459a0
|
made torrent_info reference counted and held by a boost::intrusive_ptr
|
2007-09-01 03:00:31 +00:00 |
Arvid Norberg
|
4aa018484a
|
fixed unchoke counter problem
|
2007-08-27 16:30:56 +00:00 |
Arvid Norberg
|
744d96796b
|
made it possible to start torrents in paused state. updated documentation
|
2007-08-22 05:31:42 +00:00 |
Arvid Norberg
|
4da3366a27
|
added invariant checks to session_impl
|
2007-08-21 18:33:28 +00:00 |
Arvid Norberg
|
3d3df51d45
|
fixed per torrent unchoke limit
|
2007-08-17 07:37:08 +00:00 |
Arvid Norberg
|
4ac1ac8a1f
|
removed allocate_resources. switched to a global unchoker and connection distribution
|
2007-08-16 12:41:46 +00:00 |
Arvid Norberg
|
e714e1aeba
|
improved bandwidth limiter and added a unit test for it
|
2007-07-02 23:48:06 +00:00 |
Arvid Norberg
|
3b8670626a
|
merged back async_io branch into trunk
|
2007-06-10 20:46:09 +00:00 |
Arvid Norberg
|
273f8bd921
|
merged back encryption branch to trunk
|
2007-06-06 00:41:20 +00:00 |
Arvid Norberg
|
d0412a2244
|
added port filter for outgoing connections
|
2007-06-01 01:05:57 +00:00 |
Arvid Norberg
|
31247c046a
|
supports turning on and off upnp, natpmp and lsd. All ofthem are now off by default
|
2007-05-31 00:21:54 +00:00 |
Arvid Norberg
|
510966f2a5
|
fixed fast resume data bug when using full allocation mode, and moved parts of resume data generation to the storage
|
2007-05-24 18:53:55 +00:00 |
Arvid Norberg
|
4a906aa31d
|
added option for session statistics output
|
2007-05-13 22:01:21 +00:00 |
Arvid Norberg
|
9ffde51404
|
fixed a bug caused by file_pool being destructed before torrents, and torrents using the file pool in their destructors
|
2007-05-11 23:41:31 +00:00 |
Arvid Norberg
|
4371dbe02c
|
fixed resume data problem caused by recent piece_picker optimization
|
2007-05-09 03:18:53 +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
|
d43a6b80bf
|
added an abstraction layer or tcp sockets, to be able to support socks proxys
|
2007-04-23 21:36:21 +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
|
5e32484194
|
first stab at getting local service discovery
|
2007-04-04 02:06:07 +00:00 |
Arvid Norberg
|
9e1123eb9e
|
more UPnP work. updated ChangeLog and features documentation
|
2007-03-31 23:23:30 +00:00 |
Arvid Norberg
|
029953c5ae
|
made the storage into a customization point. it is now interchangable for a custom implementation
|
2007-03-16 05:29:23 +00:00 |
Arvid Norberg
|
ecaa3068d5
|
added natpmp support. bumped version number to 0.13. added piece priority support to the piece picker. optmized and simplified the piece picker in the process.
|
2007-03-15 22:03:56 +00:00 |
Arvid Norberg
|
83c2039ff7
|
fix to previous dht fix. removed some deprication warnings on msvc-8. various fixes
|
2007-03-02 01:16:59 +00:00 |
Arvid Norberg
|
7888b72e12
|
fix for crashes when stopping or restarting DHT
|
2007-02-25 09:42:43 +00:00 |
Arvid Norberg
|
320de0d8e6
|
fixed warning on msvc-8
|
2007-02-17 01:01:34 +00:00 |
Arvid Norberg
|
98b92e3f02
|
fixed problems in the network layer that made web seeds fail some times. prepared for proxy support in peer connections. worked on the http seeding. added support for web seeds in make_torrent tool
|
2007-02-12 05:46:29 +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 |
Daniel Wallin
|
39b977973f
|
Added accessor functions for upload_rate_limit and download_rate_limit
|
2007-01-01 23:51:24 +00:00 |
Arvid Norberg
|
0f3874028b
|
added btgdaemon to identify client and applied wojci's patch to add num_connections() and num_uploads() to session
|
2007-01-01 21:04:30 +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
|
947df91b20
|
improved support for multiple connections per ip
|
2006-11-30 11:56:19 +00:00 |
Arvid Norberg
|
b63c155c0d
|
added uTorrent Peer exchange support, implemented by MassaRoddel
|
2006-11-26 17:44:51 +00:00 |
Arvid Norberg
|
c5cf290f49
|
more quota management fixes and more stats for web seeds
|
2006-11-24 14:22:52 +00:00 |
Arvid Norberg
|
1015864eeb
|
fixed division by zero problem in allocate_resources, removed incorrect asserts
|
2006-11-22 12:15:47 +00:00 |
Arvid Norberg
|
8e289bb233
|
improved logging and fixed glitch in quota management.
|
2006-11-21 15:51:28 +00:00 |
Arvid Norberg
|
68e8ea35ea
|
added logging of upload and download statistics, revised some of the quota management, added support for sessions to allocate_resources (patch by wojci)
|
2006-11-20 21:03:58 +00:00 |
Arvid Norberg
|
c52de08421
|
added more logging and modified the resource allocation algorithm. A new, looser, upload and download bandwidth limiter is now used, in order to be able to use more of the available bandwidth
|
2006-11-19 15:29:58 +00:00 |
Arvid Norberg
|
01f1d01d58
|
improved logging, fixed option to allow multiple connections from the same IP
|
2006-11-15 21:39:58 +00:00 |
Arvid Norberg
|
51e3261dd0
|
the file pool has been moved to the session and its size can be controlled via session_settings. Added untested option to allow multiple connections from the same IP.
|
2006-11-14 15:53:38 +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
|
f0519e86e8
|
separated session from session_impl and made a real pimpl-class of it. Introduced the possibility to destruct the sessions async.
|
2006-10-11 14:02:21 +00:00 |
Arvid Norberg
|
8e0d7a3bc8
|
added msvc workarounds
|
2006-10-04 15:18:51 +00:00 |
Arvid Norberg
|
6856989cb8
|
added a test for allocate resources
|
2006-10-04 02:27:32 +00:00 |