Arvid Norberg
|
ab3b82b8ee
|
replaced std::rand() with custom random generator
|
2011-02-26 07:55:51 +00:00 |
Arvid Norberg
|
56937edf56
|
cleaned up some exception handling and introduced macros like BOOST_TRY/BOOST_CATCH to make the optional exception handling nicer
|
2011-02-25 17:00:36 +00:00 |
Arvid Norberg
|
ca106ca4e0
|
some warning fixes and cleanup
|
2011-02-24 04:25:35 +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
|
9fe69e7596
|
fix another issue with adding magnet links with a valid torrent_info object
|
2011-02-21 03:07:37 +00:00 |
Arvid Norberg
|
3a89bcf6ff
|
don't assert on passing in a null pointer for listen interface, just listen on INADDR_ANY
|
2011-02-19 21:16:32 +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
|
9aa09d384c
|
added smooth_connect and turned it on by default
|
2011-02-16 03:11:55 +00:00 |
Arvid Norberg
|
c4c1773ceb
|
fixed some warnings
|
2011-02-15 10:05:25 +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
|
21d6030fe3
|
logging build fix
|
2011-02-12 23:25:09 +00:00 |
Arvid Norberg
|
6780114937
|
log number of upload-only torrents in session stats
|
2011-02-12 22:15:03 +00:00 |
Arvid Norberg
|
4267f0ec5a
|
rotate stats log every hour
|
2011-02-11 17:39:22 +00:00 |
Arvid Norberg
|
a42d42fd11
|
CPU optimization for end-game piece picker
|
2011-02-09 02:56:00 +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
|
63c96274b9
|
more stats for redundant/failed and protocol bandwidth usage
|
2011-02-06 07:33:40 +00:00 |
Arvid Norberg
|
ea0af55a46
|
log end-game mode stats with stats logging
|
2011-02-06 03:07:00 +00:00 |
Arvid Norberg
|
ed8779a338
|
added option to not recheck on missing or incomplete resume data
|
2011-02-06 00:50:12 +00:00 |
Arvid Norberg
|
06d8142c5b
|
checking torrents don't count in auto manage logic
|
2011-02-04 06:55:05 +00:00 |
Arvid Norberg
|
051936cd29
|
fixed typo
|
2011-02-04 06:44:05 +00:00 |
Arvid Norberg
|
19d6c53ad4
|
increase low watermark for disk write queue. log payload rates in session stats
|
2011-02-04 06:33:47 +00:00 |
Arvid Norberg
|
88663bfbde
|
log more peer errors in stats log
|
2011-02-04 04:31:20 +00:00 |
Arvid Norberg
|
907588db12
|
fixed bug in peer upload stats logging and adjusted bucket sizes for histogram
|
2011-02-04 03:24:55 +00:00 |
Arvid Norberg
|
4ed6b1a067
|
introduce a low watermark for disk io blocking connections
|
2011-02-04 03:02:23 +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
|
6692f05655
|
added alerts for added and removed torrents
|
2011-02-01 03:25:40 +00:00 |
Arvid Norberg
|
19ae5440f2
|
make auto-manager kick in immediately when torrents are added and paused (reduces a 10 seconds delay)
|
2011-01-30 13:15:29 +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
|
b230c385d9
|
clean up logic around waiting for disk write queue to fall below low watermark. optimize peer disconnect. Fix integer overflow bug in uTP/TCP mixed mode algorithm. Fixed some invariant checks for closing connections issues
|
2011-01-25 08:03:35 +00:00 |
Arvid Norberg
|
9964b9cdb6
|
support a separate option to use proxies for peers or not
|
2011-01-24 03:24:28 +00:00 |
Arvid Norberg
|
4602ff4b47
|
removed logging in destructor since it caused a race condition with the creation of the logger
|
2011-01-24 03:23:34 +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
|
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
|
b49999b76e
|
made the DHT implementation slightly more robust against routing table poisoning and node ID spoofing
|
2011-01-08 08:54:51 +00:00 |
Arvid Norberg
|
a3e7095f84
|
url downloading fix
|
2010-12-30 06:46:28 +00:00 |
Arvid Norberg
|
26053e4b76
|
support adding torrents by url to a .torrent file
|
2010-12-30 01:47:30 +00:00 |
Arvid Norberg
|
ae41b2598b
|
fix non-dht build
|
2010-12-29 02:17:44 +00:00 |
Arvid Norberg
|
d1124574ef
|
fix test_transfer to set mixed mode to 'prefer_tcp' to avoid having it interfere with the send rate. optimize the test to run a lot faster. fix proxy to allow any protocol (fixes issue where test failed with http and https proxy). Bump the minimum rate limit to 20kB/s (from 5kB/s) in proportional mixed mode algorithm
|
2010-12-27 22:54:14 +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
|
8c3ad6b4f3
|
asio debugging fixes and test_transfer fixes
|
2010-12-24 18:15:01 +00:00 |
Arvid Norberg
|
451c583023
|
more robust mechanism to determine external IP
|
2010-12-24 01:31:41 +00:00 |
Arvid Norberg
|
c4422cd34e
|
optimize test_transfer. fix set_upload_mode() bug for seeds. clean up some verbose logging. fix tests to not fail by EAGAIN on stdout
|
2010-12-24 00:37:01 +00:00 |
Arvid Norberg
|
f2416af718
|
added feature to turn off making outgoing connections for seeds
|
2010-12-17 03:20:36 +00:00 |
Arvid Norberg
|
0b213d95d2
|
add missing settings mappings
|
2010-12-17 03:16:30 +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
|
5ee6266e93
|
more DHT fixes
|
2010-12-12 09:15:54 +00:00 |
Arvid Norberg
|
29ed03f720
|
first implementation of DHT security implementation. tie the node ID to the external IP
|
2010-12-11 09:38:07 +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
|
03bd547f40
|
potential memory corruption fix when connections close when the disk becomes available
|
2010-12-04 23:24:42 +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
|
94ef3eaf4b
|
windows build fixes
|
2010-12-01 05:47:18 +00:00 |
Arvid Norberg
|
e5f980d80d
|
merged uTP branch into trunk (yay)
|
2010-11-29 01:33:05 +00:00 |
Arvid Norberg
|
80611bd12c
|
some settings save-fixes and reverting some unnecessary changes in the utp branch
|
2010-11-28 22:36:26 +00:00 |
Arvid Norberg
|
2e871382d7
|
add debug configuration to debug shutdown-stall bugs / outstanding async operations
|
2010-11-28 01:47:30 +00:00 |
Arvid Norberg
|
d1cb2d52ff
|
fixed build issues with with vernose logging enabled
|
2010-11-26 20:44:48 +00:00 |
Arvid Norberg
|
71d51b90e8
|
more size logging and potential fix for udp_tracker_connection leak
|
2010-11-16 06:41:35 +00:00 |
Arvid Norberg
|
79f6b5856b
|
verbose logging fixes
|
2010-11-15 04:43:53 +00:00 |
Arvid Norberg
|
02e15202f2
|
support dht nodes in magnet links
|
2010-11-07 19:18:16 +00:00 |
Arvid Norberg
|
1c7e5506e9
|
report stats on the number of dht request observers that are currently allocated
|
2010-11-06 07:12:57 +00:00 |
Arvid Norberg
|
08a234f6a6
|
document peer turnover settings and update default settings to enable it. In trunk, make the peer turnover interval configurable as well
|
2010-10-30 15:59:57 +00:00 |
Arvid Norberg
|
e4de1fc8b1
|
graceful disconnect mode which finishes transactions before disconnecting peers
|
2010-10-30 08:36:18 +00:00 |
Arvid Norberg
|
2e05dc765a
|
make the listen argument configurable
|
2010-10-29 08:10:12 +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
|
9a461c5e46
|
reduce some warnings
|
2010-10-22 05:39:32 +00:00 |
Arvid Norberg
|
517aaf526b
|
fixed assert when shutting down with DHT enabled
|
2010-10-19 03:43:11 +00:00 |
Arvid Norberg
|
643a49f022
|
optimized session/torrent startup time (shaved off about 2 seconds)
|
2010-10-17 18:36:37 +00:00 |
Arvid Norberg
|
3948ca3179
|
fixed bugs in http seed connection and added unit test for it
|
2010-10-17 16:15:32 +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
|
72322dbc10
|
allow extending web seeds with extra headers and custom authorization schemese
|
2010-10-10 18:43:58 +00:00 |
Arvid Norberg
|
3b550ece98
|
don't save settings that are set to the default value
|
2010-10-10 02:22:57 +00:00 |
Arvid Norberg
|
e494cb219b
|
made seeding choking algorithm configurable
|
2010-10-09 21:11:03 +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
|
440abdfaf2
|
optimistic unchoke fix
|
2010-10-04 04:06:14 +00:00 |
Arvid Norberg
|
8e4addf2c5
|
improved set_max_connections to immediately disconnect peers to match the new limit
|
2010-10-03 10:07:38 +00:00 |
Arvid Norberg
|
cd08a61f35
|
expose the full peer list size through session_status
|
2010-10-01 04:07: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
|
c341f15f71
|
make the assert macro also be able to print a value
|
2010-09-25 17:46:13 +00:00 |
Arvid Norberg
|
e2ca3e1545
|
rate limiter fix
|
2010-08-27 14:52:42 +00:00 |
Arvid Norberg
|
b44f71e217
|
post alerts for socks failures. fix unit tests
|
2010-08-25 06:22:49 +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
|
a85f1f5c61
|
improved logging
|
2010-08-18 17:14:40 +00:00 |
Arvid Norberg
|
fd5f1bf80b
|
improved SOCKS5 support
|
2010-08-03 09:08:37 +00:00 |
Arvid Norberg
|
67110ec0a3
|
vs2010 build fixes
|
2010-07-22 16:49:40 +00:00 |
Arvid Norberg
|
4c6be42b74
|
added feature to not count downloaded bytes from web seeds in stats
|
2010-07-15 06:27:44 +00:00 |
Arvid Norberg
|
89ca5a157a
|
fixed typos
|
2010-07-15 06:02:58 +00:00 |
Arvid Norberg
|
b3f57ac293
|
added incoming lsd alert
|
2010-07-15 05:56:29 +00:00 |
Arvid Norberg
|
c4fac3b91a
|
fixed incorrect assert
|
2010-07-15 01:46:50 +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
|
339b0019a4
|
fixed typo
|
2010-06-26 17:58:04 +00:00 |
Arvid Norberg
|
19c9237ffc
|
fixed crash in on_disk_queue and in on_receive_udp
|
2010-06-26 17:09:37 +00:00 |
Arvid Norberg
|
d3970f62a3
|
fixed invalid assert in session_impl::recalculate_unchoke_slots()
|
2010-06-25 14:14:36 +00:00 |
Arvid Norberg
|
717c7ba962
|
fixed bug where ignore resume timestamps would not update the disk io thread
|
2010-06-25 14:06:28 +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
|
6a5806bfd2
|
re-fixed the open_listen_port() issue
|
2010-06-01 02:04:00 +00:00 |
Arvid Norberg
|
cdf05a9c9c
|
moved UDP trackers over to use a single socket
|
2010-05-30 01:33:03 +00:00 |
Arvid Norberg
|
2f099e6103
|
fix open_listen_port call order
|
2010-05-27 16:20:08 +00:00 |
Arvid Norberg
|
126778d403
|
fix race condition caused by sharing udp socket and opening it in the session thread. Moved initialization to session constructor
|
2010-05-09 06:03:52 +00:00 |
Arvid Norberg
|
d0f2b0ade0
|
make tick interval configurable
|
2010-05-03 08:54:03 +00:00 |
Arvid Norberg
|
dce2edb6cc
|
fixed vs 2010 build
|
2010-04-30 19:08:16 +00:00 |
Arvid Norberg
|
2a55fe8c70
|
debug logging fixes
|
2010-04-14 18:52:13 +00:00 |
Arvid Norberg
|
2e14cfca46
|
fix crash
|
2010-04-13 05:59:59 +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
|
62eef91338
|
added setting to ignore file modification time when loading resume files
|
2010-04-11 21:02:43 +00:00 |
Arvid Norberg
|
a0a8c695ab
|
fixed typo
|
2010-03-31 04:22:48 +00:00 |
Arvid Norberg
|
310dd7d6f3
|
properly detect windows version to initialize half-open connection limit
|
2010-03-31 02:50:09 +00:00 |
Arvid Norberg
|
4c4c7f832a
|
fix for torrent announcing bug introduced when supporting fine grained control over sources torrents are announced to
|
2010-03-31 02:40:00 +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
|
c6f57ce5d7
|
support optional LSD IP broadcast
|
2010-03-26 17:45:16 +00:00 |
Arvid Norberg
|
b874104fab
|
precaution fix
|
2010-03-17 19:01:08 +00:00 |
Arvid Norberg
|
7775457441
|
moved GeoIP destruction inside session lock
|
2010-03-16 07:00:23 +00:00 |
Arvid Norberg
|
edea865023
|
fix unloading of GeoIP database to not cause potential crashes while shutting down
|
2010-03-16 02:50:20 +00:00 |
Arvid Norberg
|
fc224f29e4
|
fixed bug in session::save_state
|
2010-03-13 17:37:47 +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
|
cbc93c8de8
|
made load_state and save_state more data-driven to reduce code repetition
|
2010-03-10 02:28:40 +00:00 |
Arvid Norberg
|
06cca08afd
|
retry if accept fails because of too many files
|
2010-03-09 17:50:10 +00:00 |
Arvid Norberg
|
b80664bbaa
|
save additional settings in session state
|
2010-03-08 03:51:07 +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
|
e0e253a2a4
|
fixed geoip build
|
2010-03-04 22:34:49 +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
|
fb06acc828
|
add default peer rate limit setting
|
2010-03-03 01:31:31 +00:00 |
Arvid Norberg
|
82b60b25c8
|
made the DHT socket bind to the same interface as the session
|
2010-03-02 07:21:32 +00:00 |
Arvid Norberg
|
3171e81238
|
include new session settings in saved state
|
2010-02-21 01:34:23 +00:00 |
Arvid Norberg
|
23881fb0ff
|
lsd and dht announce timer fixes
|
2010-02-14 17:24:53 +00:00 |
Arvid Norberg
|
5c02f3df59
|
fixed DHT bootstrapping issue
|
2010-02-14 07:46:57 +00:00 |
Arvid Norberg
|
fe5f908cc6
|
fixed MinGW support
|
2010-02-14 04:05:18 +00:00 |
Arvid Norberg
|
c050b22d8f
|
optimized memory usage for torrent objects
|
2010-02-14 01:39:55 +00:00 |
Arvid Norberg
|
78363cc05d
|
local service discovery fixes
|
2010-02-13 16:29:17 +00:00 |
Arvid Norberg
|
3d5d9eb807
|
start torrent on incoming connection feature
|
2010-02-11 04:39:04 +00:00 |
Arvid Norberg
|
fb47469834
|
experimental support for the BitTyrant choking algorithm
|
2010-02-09 03:04:41 +00:00 |
Arvid Norberg
|
1a97405189
|
added an option to save a little bit of RAM by not collecting full detailed stats
|
2010-02-08 05:43:54 +00:00 |
Arvid Norberg
|
7e343a9d6f
|
add size logging to various classes
|
2010-02-08 04:51:34 +00:00 |
Arvid Norberg
|
0dba0f5dcc
|
never time out a peer because we're waiting for the disk. allow connection_speed = 0. post an alert when rejecting a peer because of the connection limit
|
2010-02-06 21:40:55 +00:00 |
Arvid Norberg
|
8c02d04d2e
|
UDP tracker optimization
|
2010-02-06 08:14:18 +00:00 |
Arvid Norberg
|
abfc92de35
|
added performance warning if there are too many optimistic unchoke slots
|
2010-02-06 07:39:45 +00:00 |
Arvid Norberg
|
51c544c6bb
|
fixed trunk build with DHT disabled
|
2010-02-05 08:40:08 +00:00 |
Arvid Norberg
|
088f4bf700
|
improved LSD performance and made the interval configurable
|
2010-02-05 08:23:17 +00:00 |
Arvid Norberg
|
1b2798970c
|
support O_NOATIME on linux and use it by default
|
2010-02-02 19:44:52 +00:00 |
Arvid Norberg
|
859f412189
|
support an arbitrary number of optimistic unchoke slots
|
2010-02-02 18:39:32 +00:00 |