arvidn
f4d643bd2d
instead of restarting the whole DHT when changing external IP, just rebuild the routing table and change the node IDs
2016-01-11 21:17:25 -05:00
Alden Torres
0f442f59f3
Avoid pass IPv6 address to current implementation of DHT while adding a node
2016-01-09 18:46:19 -05:00
arvidn
e3ba811ae4
improve name of m_timer in dht_tracker
2016-01-01 16:42:44 -05:00
arvidn
01e6b93854
simplify and improve unit test for distance_exp. make some immutable variables const in the DHT implementation. instead of waking up periodically just to check if it's time to refresh the DHT secret key, set the timer to only wake up to refresh the key. If we don't have a DHT observer (to ask for our external IP) or if we don't know our external IP, don't generate a node ID based on 0.0.0.0, just generate a random ID instead. Simplified and improved node replacement logic in the routing table a little bit
2016-01-01 16:42:37 -05:00
Steven Siloti
1f13343a70
const correctness
2015-11-22 10:02:26 -08:00
Thomas Yuan
194ad410dc
Make dht_put_alert more accurate.
2015-11-20 00:06:08 -05:00
Alden Torres
62b24d8b67
Add set_dht_storage to session API.
2015-10-02 09:00:07 -04:00
Alden Torres
25ed70b977
Create dht_storage_counters to avoid internal counter in future public API.
2015-09-21 07:46:23 -04:00
Thomas Yuan
314f134e35
reorganize code to make it straightforward.
2015-08-31 13:53:49 -04:00
Alden Torres
5be9dfb6db
Removed unnecessary call to node_id copy constructor.
2015-08-22 16:01:53 -04:00
arvidn
a3608a39fe
fix some warnings
2015-08-19 02:00:46 +02:00
arvidn
347d976a70
since starting the DHT can be delayed now, also cache dht nodes added while waiting
2015-08-18 23:35:27 +02:00
Alden Torres
b303a36ac2
Removed unnecessary full namespace reference to udp::endpoint in new dht_direct_request feature.
...
Add default value to userdata argument in dht_direct_request.
Minor spelling fix.
2015-08-12 00:49:09 -04:00
Steven Siloti
86fd8c3048
enable arbitrary direct dht requests and extension dht requests
...
If you're wondering why I used an alert for handling responses but not requests,
it's because the former was easy to do that way but the latter would have
involved some major refactoring or kludging. The DHT node is written with the
(IMO reasonable) assumption that all responses will be generated immediately, so
there was no way to easily accommodate getting a response asynchronously via
an alert.
2015-08-10 20:33:04 -07:00
arvidn
a81ca2391b
fix some warnings
2015-08-10 20:03:24 -04:00
Thomas
e51b61870a
Call callback function immediately when get mutable data.
2015-08-08 20:28:53 -04:00
arvidn
f85d62b601
merged DHT update of /8 blocks form RC_1_0
2015-07-16 21:56:06 -04:00
Arvid Norberg
41eff1801e
Merge pull request #13 from aldenml/more-dht-api
...
Added dht_get_peers and dht_announce at session_impl level.
2015-07-04 10:08:14 -04:00
John Sebastian Peterson
bb25acd661
use a better windows.foundation.collections.h(462) conflict fix
2015-07-04 05:59:38 +02:00
John Sebastian Peterson
e7caa2d20f
fix winrt compile error in windows.foundation.collections.h(428)
2015-07-02 09:58:17 +02:00
Alden Torres
fcac7140f8
Added dht_get_peers and dht_announce at session_impl level.
2015-07-01 15:30:08 -04:00
arvidn
389ffc622c
don't pull in the asio namespace in libtorrent. refer to it by boost::asio
2015-06-06 01:24:25 -04:00
Arvid Norberg
d43f7b56a2
update copyright year
2015-06-03 05:18:48 +00:00
Arvid Norberg
945eef4c4d
some dht_tracker clean up
2015-05-30 04:37:12 +00:00
Arvid Norberg
e44c8e9002
optimize logging of DHT packets by deferring copying and printing, to only do it if the alert category is enabled
2015-05-28 20:36:22 +00:00
Arvid Norberg
e7d369646d
fix gcc warnings
2015-05-18 01:30:32 +00:00
Arvid Norberg
99de70604a
remove dht-verbose logging build configuration. tie it to the main logging configuration (which now is on by default) and make it less costly when dht logging alerts are disabled
2015-05-16 19:29:49 +00:00
Arvid Norberg
494b425ea1
fix warnings and a peer logging bug
2015-05-10 18:38:10 +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
6557910c7f
remove the DHT's last dependency on session_impl
2015-05-09 18:06:02 +00:00
Arvid Norberg
ddfef97696
don't use iostream in dht routing table debug logging
2015-05-08 05:21:26 +00:00
Arvid Norberg
93a19b44c0
fix another format string issue and add comments to kademlia
2015-04-26 06:25:08 +00:00
Arvid Norberg
4d15f1410f
fix warnings, some clean-up and todo comments
2015-04-20 04:52:49 +00:00
Arvid Norberg
013ed36f09
landed alert_queue feature branch into trunk
2015-04-03 20:15:48 +00:00
Arvid Norberg
794de25212
moved escape_string.hpp into the aux_ directory. moved out the 3 public hex functions into its own public header, hex.hpp
2015-03-14 23:10:20 +00:00
Arvid Norberg
65a9d76938
fix dht logging build
2015-03-13 05:53:22 +00:00
Arvid Norberg
6c1df7eb55
landed the bdecode branch in master. lazy_bdecode/lazy_entry is now being replaced by bdecode/bdecode_node
2015-03-12 05:20:12 +00:00
Arvid Norberg
c1dc982f4f
deprecate the ptime type and related time types. just use boost::chrono / std::chrono
2015-03-12 04:34:54 +00:00
Arvid Norberg
609b5eb4ba
fix dht logging build
2015-01-18 15:03:18 +00:00
Arvid Norberg
0afea4bb3e
move some DHT verbose stats logging over to performance counters
2015-01-18 01:06:36 +00:00
Arvid Norberg
22a02f4a1f
make dht_tracker be held by shared_ptr instead of intrusive_ptr. remove redundant performance counter (total dht sent/received). report DHT IP overhead to the IP overhead counters
2015-01-17 22:06:30 +00:00
Arvid Norberg
58d93e5aa1
add new (non-deprecated) access to dht stats, asynchronously via an alert
2015-01-17 17:02:58 +00:00
Arvid Norberg
35b41858cf
deprecated session_status and session::status() in favor of performance counters
2015-01-04 21:31:02 +00:00
Arvid Norberg
dbf461ac23
make DHT dos mitigation parameters configurable via dht_settings
2015-01-01 23:24:21 +00:00
Arvid Norberg
aae56c991c
merged changes from RC_1_0
2014-11-08 16:58:18 +00:00
Arvid Norberg
7351389ce8
land libtorrent_aio branch in trunk
2014-07-06 19:18:00 +00:00
Arvid Norberg
36e8945968
more build fixes
2014-06-29 19:11:15 +00:00
Arvid Norberg
555efd9279
factor out address/endpoint I/O into it's own unit test. merge write_string from bencode and socket_io. extend unit test
2014-05-04 06:46:47 +00:00
Arvid Norberg
8403e58f3c
make dht test program able to get and put mutable items. fixed some DHT bugs along the mutable put/get path
2014-03-02 23:35:35 +00:00
Arvid Norberg
86c704a6ff
fix dht_bootstrap_alert being posted. add additional alert for dht put completion. add utility to test immutable put/get. fix issue in DHT preventing stores on router nodes (even when they return write tokens). immutable put and get confirmed to be working
2014-02-28 04:02:48 +00:00
Arvid Norberg
1188ec2dcd
expose new DHT put/get functionality in the public session API
2014-02-24 00:31:13 +00:00
Arvid Norberg
a943fec777
update copyright
2014-02-23 19:12:25 +00:00
Arvid Norberg
fec7407461
send implied_port in dht announce messages when uTP is enabled
2014-01-20 06:35:06 +00:00
Arvid Norberg
a5b5cf0f62
ignore unused parts of the internet on the DHT by default
2014-01-19 07:44:16 +00:00
Arvid Norberg
4e6b1cfbfb
update copyright
2013-12-25 17:07:16 +00:00
Arvid Norberg
11a584991b
fix bug in dht logging build
2013-12-21 09:22:10 +00:00
Arvid Norberg
70735a0a67
minor ifdef tweaks and DHT logging
2013-12-21 07:18:49 +00:00
Arvid Norberg
ce99fd47f2
enable all DHT logging (when building with dht logging enabled)
2013-12-20 04:54:27 +00:00
Arvid Norberg
4ec97bfaaa
make verbose dht logging work again
2013-09-14 22:00:41 +00:00
Arvid Norberg
7223bf17e5
DHT memory optimization
2013-01-28 04:00:23 +00:00
Arvid Norberg
652bf8323b
prioritize some more todo mark-ups
2013-01-21 01:40:59 +00:00
Arvid Norberg
ab7369fee9
implement a sligthtly more aggressive DHT lookup mechanism
2013-01-20 07:54:54 +00:00
Arvid Norberg
903efa1a9f
merged DHT config fromRC_0_16
2013-01-14 02:42:44 +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
bff648a89e
update copyright dates and add tool to do so
2012-10-02 03:16:33 +00:00
Arvid Norberg
28e32b57b6
merged UDP socket fix from RC_0_16
2012-09-25 18:57:50 +00:00
Arvid Norberg
055f8a0598
merged DHT optimization from libtorrent_aio
2012-09-22 18:15:29 +00:00
Arvid Norberg
a66332d66f
fix DHT logging build
2012-07-23 13:37:23 +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
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
c4dded04ca
fixed small memory leak in DHT
2011-11-28 11:11:29 +00:00
Arvid Norberg
8190744f0c
fix DHT error messages to either not be sent or contain valid transaction IDs
2011-06-01 07:44:33 +00:00
Arvid Norberg
58d723012a
support DHT scrape
2011-05-23 00:45:36 +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
de28a57954
add back version in DHT packets
2011-01-23 02:02:04 +00:00
Arvid Norberg
ba0aed2282
initial support for DHT RSS feeds
2011-01-19 05:57:44 +00:00
Arvid Norberg
b56a1638ae
DHT fixes. fixed bucket refresh issue. re-introduced refreshing our own bucket regularly. added more DHT instrumentation in session_status. added alert for when bootstrap is complete. Fixed bootstrap to ping remaining nodes when search is complete. Completed recent DHT observer rewrite to remove some redundant fields
2010-12-12 03:17:08 +00:00
Arvid Norberg
f21251cba8
limit number of torrents tracked by DHT and support DHT name lookups
2010-11-27 03:09:28 +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
fc1b44b560
improve error reporting of lazy_bdecode to use error_code
2010-10-28 04:01:59 +00:00
Arvid Norberg
72060e8676
removed DHT mutex since everything is in the network thread now
2010-07-19 05:27:33 +00:00
Arvid Norberg
dce2edb6cc
fixed vs 2010 build
2010-04-30 19:08:16 +00:00
Arvid Norberg
dcffa55700
some sunPRO compiler support
2010-03-07 06:00:12 +00:00
Arvid Norberg
5c02f3df59
fixed DHT bootstrapping issue
2010-02-14 07:46:57 +00:00
Arvid Norberg
11cd7af4e7
optimized DHT routing table memory usage
2010-01-03 11:08:39 +00:00
Arvid Norberg
6343fe6a6d
optimized header dependencies to lower build time
2009-11-23 08:38:50 +00:00
Arvid Norberg
562e2512b9
some vs2010 fixes
2009-11-22 23:55:54 +00:00
Arvid Norberg
d6d577627b
removed some unnecessary includes
2009-11-22 21:08:44 +00:00
Arvid Norberg
b066e4694b
fixed DHT state save bug for node-id
2009-11-10 17:01:05 +00:00
Arvid Norberg
1c28444f94
fixed residual references to boost/thread. Removed memdebug (it doesn't work and tcmalloc is better)
2009-11-02 02:00:41 +00:00
Arvid Norberg
aad0a68dfa
removed a few more dependencies on lexical_cast
2009-10-19 00:31:47 +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
f36688a364
initial support for torrent tag store in DHT
2009-09-27 03:38:41 +00:00
Georg Rudoy
c631c00653
Fixed build: use incoming_error from correct namespace.
2009-09-25 22:03:35 +00:00
Arvid Norberg
6eefa02c56
fixed link error with incoming_error
2009-09-25 16:32:02 +00:00
Arvid Norberg
e289b9c6ac
build fixes
2009-09-20 15:21:31 +00:00