Commit Graph
74 Commits
Author SHA1 Message Date
Adrien Beraud ff6e38571d dhtrunner: add method to bootstrap with a single SockAddr 2017-03-28 15:44:09 +02:00
Simon Désaulniers b03a8b5b50 update license notice (2017) 2017-01-13 17:27:29 -05:00
Adrien Béraud b6dca5ccd6 dht: use new NodeStats structure to provide stats 2017-01-10 23:34:56 -05:00
Simon Désaulniers 620868b5d6 routing_table: complete connecting state resolution
After a connectivity change, the DHT would enter the "connecting" state in order
to try to resolve good nodes. However, the previous algorithm would
probabilistically increase time for completion each time a node would fail to
resolve. We now avoid this by prioritizing non-expired nodes in the process.
Also, a subtle error would sensibly stop the process for 30 minutes due to using
the Node::NODE_EXPIRE_TIME constant instead of Node::MAX_RESPONSE_TIME.
2017-01-03 17:48:40 -05:00
Adrien Béraud 2ab756906d dht: getSearchLog for a specific search 2016-10-27 16:51:21 -04:00
Adrien Béraud 9d3514e087 dhtrunner: don't run ops if disconnected and bootstraping 2016-10-26 17:50:30 -04:00
Adrien Béraud e3663c995a log: add storage filter 2016-10-24 02:09:38 -04:00
Adrien Béraud 1d62b3ca64 log: add InfoHash filter
* filter log entries with new method setLogFilter
* filter by node id, search or infohash
* add optional parameter to 'log' in dhtnode
2016-10-24 02:09:38 -04:00
Adrien Béraud d4bd17a2dc dhtrunner: use a second condition variable for bootstrap 2016-10-19 13:34:33 -04:00
Adrien Béraud da1bdf9d4c dht: retry nodes more aggressively in case of failure 2016-10-16 22:36:52 -04:00
Adrien Béraud a56bf3f115 dhtrunner: handle null callback in pingNode 2016-10-12 13:25:00 -04:00
Adrien Béraud 64118404fe dhtrunner: recover from network changes
Using a list of bootstrap nodes, we recover from network loss by pinging those
nodes continuously until connected.
Written with Simon Désaulniers.
2016-10-10 01:51:26 -04:00
Simon Désaulniers bb74dc846c dht/dhtrunner: enable callback for pingNode 2016-10-10 00:23:53 -04:00
Adrien Béraud 6d38c18572 introduce SockAddr to store IP addresses 2016-09-15 01:38:26 -04:00
Adrien Béraud b3401828e4 dht: set "connecting" state when waiting for a ping 2016-08-25 00:42:50 -04:00
Nicolas 7721aa5643 api: Add value creation timepoint (#97) 2016-07-28 17:03:11 -04:00
Simon Désaulniers 78c7cae7e9 dhtrunner: add query in dhtrunner API 2016-07-10 19:26:13 +02:00
Simon Désaulniers dcca94aab7 dht,api: enable optional permanent put on dht
A permanent put is going to be executed once and every time the data expires on
each SearchNode.
2016-06-03 17:20:58 -04:00
Andreas Traczyk 9e461e0960 microsoft compiler support 2016-06-02 12:17:09 -04:00
Adrien Béraud 8cc53b1751 add node cache, split dhtrunner.h from dht.h 2016-05-08 00:37:52 -04:00
Simon Désaulniers 91fa097195 add template erase_if for map 2016-05-02 15:24:58 -04:00
Adrien Béraud b5ac68d833 dhtrunner: move buffer declaration 2016-04-30 03:16:05 -04:00
Adrien Béraud c753977d5c dhtrunner: reduce stack usage 2016-02-19 01:16:00 -05:00
Adrien Béraud e00c8e9598 update copyright headers for 2016 2016-01-07 18:02:35 -05:00
Adrien Béraud 67464fde9a dhtrunner: run shutdown in priority queue
Fix calling shutdown on a non-connected node.
2015-12-10 13:18:55 -05:00
Adrien Béraud 8fd71c7f3d dhtrunner: add missing shared_ptr<Value> versions of putSigned, putEncrypted. 2015-12-09 14:40:00 -05:00
Adrien Béraud d1c4d2446e add Simon Désaulniers to author lists 2015-11-13 16:45:43 -05:00
Adrien Béraud 4aebef5e51 dhtrunner: don't block networking thread during processing 2015-11-08 16:06:30 -05:00
Adrien Béraud 7e346cfcb8 update license terms
* removed OpenSSL exception
  (OpenDHT doesn't make use of OpenSSL)
* properly capitalize "Savoir-faire Linux"
2015-11-08 16:06:30 -05:00
Simon Désaulniers c7298088d9 getNodesStats resets 0, shutdown method in Dht API 2015-11-02 16:45:50 -05:00
Adrien Béraud 4ecd212517 dhtrunner: support port 0 (OS assigned port) 2015-10-18 02:32:51 -04:00
Adrien Beraud 6e6882ca7a dht: cleanup 2015-09-01 18:10:00 +02:00
Adrien Béraud 69c047e380 dhtrunner: enable back IPv6 2015-09-01 16:47:02 +02:00
Adrien Béraud 7cd530612c disable back IPv6
temporarly disable while an issue is investigated to not perturbate the network
2015-08-21 01:40:13 -04:00
Adrien Béraud aae6484a58 dhtrunner: delay ops until dht is connected (except bootstrap) 2015-08-18 13:47:33 -04:00
Adrien Béraud 790c32048c ValueSerializable: refactoring 2015-08-18 10:57:46 -04:00
Adrien Béraud fcbaa28439 enable back IPv6
It seems that msgpack fixed the IPv6 issue.
Enabling back.
2015-08-13 15:26:24 -04:00
Adrien Béraud 70dfb4bbcf use msgpack for dht protocol and value serialization 2015-08-13 11:28:29 -04:00
Edric 623dd4f2a7 Correctly close socket on win32
Refs : https://msdn.microsoft.com/en-us/library/windows/desktop/ms740126%28v=vs.85%29.aspx
2015-08-07 12:45:56 -04:00
Adrien Béraud 15f3dee293 introduce configuration structure 2015-08-05 21:55:20 -04:00
Adrien Béraud 59182aa0c4 securedht, dhtrunner: support bootstrap mode 2015-08-04 23:39:15 -04:00
Adrien Béraud f13b28fed4 dht: add connectivityChanged() 2015-07-28 16:26:35 -04:00
Adrien Béraud 2b16937c2d temporarly disable IPv6
IPv6 is for some reason not working properly.
Disable it while we are investingating
2015-07-23 11:07:29 -04:00
Adrien Béraud d2ed99742e zero-initialise sockaddr structures 2015-07-23 11:05:50 -04:00
Adrien Béraud 3d2a74be49 python: add PyNode 2015-07-13 13:24:55 -04:00
Adrien Béraud d2c57b867d update copyright headers 2015-07-10 23:25:43 -04:00
Adrien Béraud 2470dab029 dht: add a simpler Done Callback 2015-07-06 11:27:45 -04:00
Adrien Béraud 8bd46446cd dhtrunner: allow empty or null strings for hostnames 2015-07-02 21:19:34 -04:00
Adrien Béraud aeedb8adac dhtrunner: allow to bind specific IP addresses 2015-07-02 02:59:28 -04:00
Guillaume Roguez 42ba16d080 add python wrapper written in Cython
This patch adds in tool/python a Cython written package
to use opendht API throught Python language.
This binding is a prototype with a little subset of OpenDHT API,
mainly for a proof-of-concept

Signed-off-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
2015-07-02 02:59:01 -04:00