Commit Graph

234 Commits

Author SHA1 Message Date
Arvid Norberg ab7369fee9 implement a sligthtly more aggressive DHT lookup mechanism 2013-01-20 07:54:54 +00:00
Arvid Norberg f12e1c1a3f merged DHT fix from RC_0_16 2012-11-16 22:25:39 +00:00
Arvid Norberg bff648a89e update copyright dates and add tool to do so 2012-10-02 03:16:33 +00:00
Arvid Norberg 055f8a0598 merged DHT optimization from libtorrent_aio 2012-09-22 18:15:29 +00:00
Arvid Norberg bc34b13366 use random instead of rand() 2012-05-03 03:16:31 +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 8213814102 DHT fix 2012-03-17 19:27:57 +00:00
Arvid Norberg d52eb9ed19 fixed release asserts issue in kademlia code 2012-01-16 22:48:43 +00:00
Arvid Norberg 7ee42393a5 simplified DHT parsing a bit 2011-12-01 04:01:36 +00:00
Arvid Norberg 2bb53ce6e8 fix non-openssl builds and improved error messages for mutable puts 2011-05-25 02:41:48 +00:00
Arvid Norberg 6fa1827c39 add support for mutable put/get functions in DHT 2011-05-25 02:26:07 +00:00
Arvid Norberg f13de88b63 fixed dht logging build 2011-05-23 06:37:43 +00:00
Arvid Norberg 6830eb10a9 remove old search code from DHT. modify announce-item to fit with more recent proposal of get/put. Only immutable entries for now 2011-05-23 05:07:52 +00:00
Arvid Norberg 58d723012a support DHT scrape 2011-05-23 00:45:36 +00:00
Arvid Norberg 61ceaba6de fix shadowed variable warning 2011-04-08 04:47:26 +00:00
Arvid Norberg 08c93978a6 clean up some dead code and fix windows build 2011-02-28 00:35:58 +00:00
Arvid Norberg ca106ca4e0 some warning fixes and cleanup 2011-02-24 04:25:35 +00:00
Arvid Norberg 8293543862 fix iterator bug in dht rss items 2011-02-24 03:22:24 +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 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 4fcfceb087 DHT optimizations and fixes. Fixed routing table bucket splitting 2010-12-12 20:36:42 +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 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 1e82df3e45 support partial hash DHT lookups 2010-12-06 06:39:16 +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 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 dce2edb6cc fixed vs 2010 build 2010-04-30 19:08:16 +00:00
Arvid Norberg a29928de8b fix DHT bug 2010-03-12 03:18:17 +00:00
Arvid Norberg 5c02f3df59 fixed DHT bootstrapping issue 2010-02-14 07:46:57 +00:00
Arvid Norberg 0acfe4a480 dht bugfix 2010-02-14 04:58:21 +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 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 f2af1d0d1a fix msvc build 2009-10-23 06:41:09 +00:00
Arvid Norberg cee42ff5a1 more DHT simplifications 2009-10-07 20:51:02 +00:00
Arvid Norberg 115a4b1863 fixed msvc build 2009-10-04 23:46:29 +00:00
Arvid Norberg 8dc2865c5d fix DHT build 2009-10-03 18:29:47 +00:00
Arvid Norberg dfccf0b412 some DHT work 2009-09-29 17:06:08 +00:00
Arvid Norberg 138fb8c679 extended DHT unit test to include error reporting 2009-09-27 17:41:51 +00:00
Arvid Norberg 7d4338b7f7 added data triven DHT message parsing and verification 2009-09-27 05:27:43 +00:00
Arvid Norberg f36688a364 initial support for torrent tag store in DHT 2009-09-27 03:38:41 +00:00
Arvid Norberg 5b563d5522 improved forward compatibility in DHT 2009-09-27 00:40:05 +00:00
Arvid Norberg 6eefa02c56 fixed link error with incoming_error 2009-09-25 16:32:02 +00:00
Arvid Norberg 54cce9da60 simplified and optimized the DHT implementation 2009-09-20 00:23:36 +00:00
Arvid Norberg ae3be201c4 reduced the number of floating point operations to better support systems with no FPU 2009-07-19 04:59:27 +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 2b4a49ea19 small dht status cleanup 2009-01-23 10:36:07 +00:00
Arvid Norberg 00d02f7859 improved DHT get_peers code. get_peers always returns nodes now, and announce_peer is always sent to the k closest nodes to the info-hash. This should significantly speed up retrieving peers from the DHT 2008-12-23 20:04:12 +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 beb9dbfc03 cleaned up DHT error handling and logging. Made it use lazy_bdecode for improved performance 2008-11-11 17:51:02 +00:00
Arvid Norberg 473f75e98a DHT fix where the node_id would get set after it was started and be inconsitent with rpc_manager and routing_table 2008-11-11 08:33:34 +00:00
Arvid Norberg 18d269dd62 DHT optimizations 2008-11-10 02:08:42 +00:00
Arvid Norberg a6ba48a60a removed exception usage in dht implementation and peer_connection 2008-10-21 17:10:11 +00:00
Arvid Norberg 41d5abf0d8 exception related fixes. Avoiding functions that may throw in places where exceptions shouldn't be thrown 2008-10-21 08:45:42 +00:00
Arvid Norberg 68a89507bc mutex fix for dht status reporting 2008-10-09 03:33:14 +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 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 0ba85e96d5 fixed kademlia announce bug 2008-05-26 15:23:06 +00:00
Arvid Norberg 5202056682 inverted distance log in dht 2008-05-08 03:58:05 +00:00
Arvid Norberg 1522f52db8 logs the distance between key and node when announcing 2008-05-08 01:17:14 +00:00
Arvid Norberg bbf9c83edc initial support for icmp errors in the DHT 2008-05-08 00:22:17 +00:00
Arvid Norberg c7e6c04705 switched over to asio from boost-1.35 2008-05-03 16:05:42 +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 99eed299cd asserts in dht 2008-02-09 21:04:24 +00:00
Arvid Norberg 501611173e removed unused header 'packet_iterator.hpp' 2007-12-28 19:46:08 +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 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 b386aa23e9 DHT bugfix, more logging and less frequent private key generation. Fixed typo in identify_client 2007-05-14 17:49:36 +00:00
Arvid Norberg 9f902e7b9f the DHT now refreshes buckets properly. 2007-05-12 01:52:25 +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 8957b64c04 prepared for precompiled headers support. fixed issue where storage didn't lock the session properly. fixed typo in natpmp.cpp 2007-03-17 17:15:16 +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 327f820292 correction of previous fix 2007-01-07 13:55:27 +00:00
Arvid Norberg b62d54948c may have fixed another exception caused when the network cable is plugged 2007-01-07 13:27:55 +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 5aa875c2af fixed some warnings 2006-09-24 11:32:08 +00:00
Arvid Norberg 4f2d147e07 the dht node will now add nodes who sends announce_peer with correct write token. Fixed bug in session where nodes from a .torrent were added to the node even though if it wasn't running. 2006-08-06 18:42:04 +00:00
Arvid Norberg 2daaa9f8d2 fixed bug in allocate_resources, made the refresh timers more accurate and tries to even out the load bu not refreshing more than one bucket at a time 2006-08-06 16:36:00 +00:00
Arvid Norberg 2d83cdfa59 fixed runtime-check that msvc adds if that option is checked. Fixed problem that occured if the max_transactions limit was reached. 2006-08-01 22:23:05 +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