Arvid Norberg
25195a7260
back port DHT fixes from master ( #1209 )
...
back port DHT fixes from master
2016-10-14 23:47:59 -04:00
arvidn
1f9f588e75
merge copyright year update and changelog from RC_1_0
2016-01-17 18:57:46 -05:00
arvidn
98c9ac0448
fix msvc build
2015-12-03 19:28:57 -05:00
Steven Siloti
c2277b3ea5
fix traversal_algorithm::done() being invoked more than once
...
A traversal can be done while there are still outstanding queries (i.e.
m_invoke_count is non-zero) if K good responses have already been received and
none of the outstanding queries are closer than the nodes which have responded.
When this happens and the outstanding queries eventually complete or timeout
they call traversal_algorithm::failed() or traversal_algorithm::finished() as
usual which will cause traversal_algorithm::done() to be called yet again.
The fix is to always set the done flag on all queried observers in
traversal_algorithm::done() so that the observers will refrain from calling
back into the traversal.
This also makes traversal_algorithm::abort() redundant since this was the only
thing it did before it called into done().
2015-11-09 20:47:33 -08:00
arvidn
ffa870d280
fixed some GCC warnings
2015-08-20 01:33:20 +02:00
Arvid Norberg
d43f7b56a2
update copyright year
2015-06-03 05:18:48 +00:00
Arvid Norberg
242dad0743
fix dht build
2015-05-10 18:24:09 +00:00
Arvid Norberg
b60934288b
turn DHT logging into alerts instead of writing to a file
2015-05-10 04:54:02 +00:00
Arvid Norberg
ca581f2258
rename dht::node_impl -> dht::node, since this hasn't been a pimpl for quite a while
2015-05-09 19:00:22 +00:00
Arvid Norberg
34af25beaa
merged chagnes from RC_1_0
2014-11-01 22:47:56 +00:00
Arvid Norberg
a6f345181f
fixed some unused argument warnings
2014-07-07 06:28:48 +00:00
Arvid Norberg
7351389ce8
land libtorrent_aio branch in trunk
2014-07-06 19:18:00 +00:00
Arvid Norberg
0e04ab8d72
reorder the node-list in the DHT traversal algorithm if a node updates its ID
2014-03-03 05:09:53 +00:00
Arvid Norberg
a943fec777
update copyright
2014-02-23 19:12:25 +00:00
Arvid Norberg
d6b1aa4c36
DHT refactoring and support for storing arbitrary data with put
2013-12-27 04:28:25 +00:00
Arvid Norberg
4e6b1cfbfb
update copyright
2013-12-25 17:07:16 +00:00
Arvid Norberg
93d7d89ced
fix issue with obfuscated_get_peers where peers in responses to obfuscated requests would still be returned. slight refactoring to move traversal algorithm level logic to traversal_observer class
2013-12-14 23:25:38 +00:00
Arvid Norberg
39264c5ad3
introduce new, optional, get_peers mechanism that is more privacy preserving (doesn't leak the info-hash to as many DHT nodes)
2013-09-09 07:08:02 +00:00
Arvid Norberg
ab7369fee9
implement a sligthtly more aggressive DHT lookup mechanism
2013-01-20 07:54:54 +00:00
Arvid Norberg
bff648a89e
update copyright dates and add tool to do so
2012-10-02 03:16:33 +00:00
Arvid Norberg
4fcfceb087
DHT optimizations and fixes. Fixed routing table bucket splitting
2010-12-12 20:36:42 +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
d3a8916f02
further simplify the DHT by getting rid of the result type and just using observers instead. This might save some memory and should fix the assert that would be triggered before
2010-11-05 19:06:50 +00:00
Arvid Norberg
631cd17ebf
renamed union hack
2010-03-12 18:30:18 +00:00
Arvid Norberg
dcffa55700
some sunPRO compiler support
2010-03-07 06:00:12 +00:00
Arvid Norberg
47f3a18d65
DHT bootstrapping and refresh fix
2010-02-20 16:37:50 +00:00
Arvid Norberg
ddceb1487d
fixed building with no IPv6 support
2009-11-27 18:46:29 +00:00
Arvid Norberg
6343fe6a6d
optimized header dependencies to lower build time
2009-11-23 08:38:50 +00:00
Arvid Norberg
cd0fc85b5f
fixed msvc warning
2009-10-29 22:55:00 +00:00
Arvid Norberg
474566fa21
more DHT fixes and simplifications
2009-10-09 02:34:25 +00:00
Arvid Norberg
cee42ff5a1
more DHT simplifications
2009-10-07 20:51:02 +00:00
Arvid Norberg
dfccf0b412
some DHT work
2009-09-29 17:06:08 +00:00
Arvid Norberg
e289b9c6ac
build fixes
2009-09-20 15:21:31 +00:00
Arvid Norberg
54cce9da60
simplified and optimized the DHT implementation
2009-09-20 00:23:36 +00:00
Arvid Norberg
00ccf9064e
optimized memory usage in the DHT, and added some handling for out-of-memory cases
2009-05-13 22:18:41 +00:00
Arvid Norberg
18d269dd62
DHT optimizations
2008-11-10 02:08:42 +00:00
Arvid Norberg
0338510b9b
added more bandwidth monitoring of DHT and TCP/IP overhead. added monitoring of the running DHT lookups
2008-09-20 17:42:25 +00:00
Arvid Norberg
211ae62d33
fixes #295
2008-03-24 02:19:47 +00:00
Arvid Norberg
fece6e9300
fixed #289 in trunk, 0.12 and 0.13
2008-03-19 22:44:55 +00:00
Arvid Norberg
99a22dcae4
made dht requests be allocated in a pool allocator for heap and runtime efficiency. Fixes to DHT error responses
2007-05-23 08:45:12 +00:00
Arvid Norberg
f14c84b01e
fixes in DHT to make it work when the number of transaction slots are full (very rare case). Added a feature to (optionally) resolve the countries of peers and updated the docs (see peer_info::country).
2007-01-29 07:39:33 +00:00
Arvid Norberg
910733f29e
added proper support for dht router nodes (which are automatically used to bootstrap from, and won't get added to the routing table)
2006-09-27 17:20:18 +00:00
Arvid Norberg
8227b160ea
fixed missing header include. added todo comment at a reported bug
2006-08-10 23:36:58 +00:00
Arvid Norberg
5ef57265bf
first version with DHT support. Limited pipelining used by url-seeds. Fixed one configuration problem on FreeBSD.
2006-08-01 15:27:08 +00:00