Adrien Béraud
d4bd17a2dc
dhtrunner: use a second condition variable for bootstrap
2016-10-19 13:34:33 -04:00
Simon Désaulniers
6c73e5fa5c
dht: less cases clear values, storage maintenance
2016-10-19 11:53:47 -04:00
Simon Désaulniers
24edfb8eaf
dht: uniformly sync SearchNodes reannouncing
...
Historically, the next announce timing was based on the last acknowledgement
received from a SearchNode. This behavior was invalid since the 'refresh'
operation. In fact, for a given value that was "refreshed", its creation time
would differ from the announcer's info. Therefor, all search node's
reannouncing timings would differ, hence causing inconsistency on the network.
2016-10-19 11:53:47 -04:00
Adrien Béraud
4ef5a2216e
dht: revert to previous onNewNode behavior
2016-10-19 01:27:19 -04:00
Adrien Béraud
0d646eb244
network engine: log cleanup
2016-10-19 01:01:51 -04:00
Adrien Béraud
757fea37f3
Merge pull request #142 from sim590/fix-permanent-put-time-info
...
dht: appropriate time info in permanent put ops
2016-10-18 14:26:21 -04:00
Simon Désaulniers
09e41cc9f2
dht: appropriate time info in permanent put ops
2016-10-18 14:20:43 -04:00
Adrien Béraud
71ad92e286
dht: log cleanup
2016-10-17 17:55:22 -04:00
Adrien Béraud
d4f3d3aa98
dht: add missing iterator
2016-10-17 17:14:30 -04:00
Simon Désaulniers
c0612a1b2c
dht: use "refresh" operation for permanent put
2016-10-17 11:56:54 -04:00
Simon Désaulniers
6743cbbf50
dht: introduce "refresh" operation
...
This operation requests a node to refresh a value's time_point information of
its lifetime begining. This is intended to fix the *permanent put* operation
which has been having syncing issues since the introduction of an enhanced and
lighter put operation.
2016-10-17 11:56:54 -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
96da4cd85d
build: make logs optional at build time
2016-10-16 22:36:42 -04:00
Adrien Béraud
f233340cb2
node: clear reply_time on reset
2016-10-16 22:36:36 -04:00
Adrien Béraud
cfb817d37f
dht: add buckets() utility
2016-10-16 22:36:30 -04:00
Adrien Béraud
9440c03048
dht: log cleanup
2016-10-16 22:36:24 -04:00
Adrien Béraud
aa611bde50
network engine: cleanup
2016-10-15 20:07:37 -04:00
Adrien Béraud
7af856508e
dht: make connectivityChanged family dependent
2016-10-15 19:13:15 -04:00
Adrien Béraud
aaed64039a
dht: fix compilation on clang
2016-10-12 15:02:02 -04:00
Adrien Béraud
7c5e8c3234
sockaddr: add missing include for Win32
2016-10-12 14:38:39 -04:00
Adrien Béraud
a56bf3f115
dhtrunner: handle null callback in pingNode
2016-10-12 13:25:00 -04:00
Adrien Béraud
2d2fa9cfa9
OpenDHT 1.1.0
...
* automatic connection loss recovery
* dhtrunner: asynchronous DNS lookup for bootstrap
* handle values up to 64k
* better support for large values on macOS
* dht: add callback to pingNode
* fix compilation with recent clang versions
1.1.0
2016-10-11 17:36:12 -04:00
Adrien Béraud
9f11930f3d
fix compilation on latest clang
2016-10-11 16:34:40 -04:00
Adrien Béraud
013b1dfe2e
Merge pull request #138 from sim590/connectivity-changes-detect
...
search: detect connectivity changes
2016-10-11 16:01:59 -04:00
Simon Désaulniers
733f699ff2
search: detect connectivity changes
...
The number of bad nodes is limited in order to help determine presence of
connectivity changes. See https://github.com/savoirfairelinux/opendht/issues/137
for details.
According to the tables, 25 is a good average value for big networks. If the
network is small, normal search expiration process will handle the situation.
2016-10-11 15:54:37 -04:00
Adrien Béraud
a366d502a2
fix compilation on latest clang
2016-10-11 15:50:49 -04:00
Adrien Béraud
eed8ffc792
Merge pull request #139 from savoirfairelinux/recover-from-network-changes
...
dhtrunner: recover from network changes
2016-10-11 11:57:31 -04:00
Adrien Béraud
998547e1a1
Merge pull request #136 from savoirfairelinux/feature/value_fragment
...
network: transmit large values in multiple packets
2016-10-11 11:57:18 -04:00
Simon Désaulniers
8567b7ad84
network_engine: expire requests when clearing NE
...
This is to prevent any thread relying on network_engine's callback to block
forever just like the Dht::sendPing's callback.
2016-10-10 01:51:26 -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
659d893dee
network: transmit large values in multiple packets
2016-10-09 16:22:33 -04:00
Simon Désaulniers
e3f371c2d8
bump version
1.0.2
2016-10-06 08:27:00 -04:00
Adrien Béraud
f53c7a6785
dht: keep track of storage usage in maintainStorage
2016-10-04 03:09:00 -04:00
Adrien Béraud
261c193b50
Merge pull request #133 from sim590/sync-enhancements
...
dht: bug fixes, timing computation enhancements
2016-09-24 19:07:05 -04:00
Simon Désaulniers
dc0b650aa3
dht: make sure we are synced before sending put
2016-09-23 19:27:59 -04:00
Simon Désaulniers
87cf6faedd
dht/node: don't allow more than 3 auth errors
2016-09-23 19:27:59 -04:00
Simon Désaulniers
ca6aa6706d
dht/value: make 'find_node' queries satisfied by any queries
...
'find_node' requests don't ask for values. Then, the idea of a Query makes less
sense, but since we still need those to map status to network engine requests,
we introduce dummy queries which with the field Query::none. Those queries will
then only serve as key to network engine's requests.
2016-09-23 19:27:58 -04:00
Simon Désaulniers
16e55416a6
network_engine: fix bug token not sent for listen
2016-09-23 19:27:58 -04:00
Simon Désaulniers
3e24058175
dht: fix SearchNode's getListenTime computation
...
When no listen request have been sent yet, getListenTime should tell it's okay
to send pending listen request.
2016-09-23 19:27:55 -04:00
Simon Désaulniers
d1c2b20b28
dht: canGet must allow sending when no token
2016-09-23 13:48:04 -04:00
Adrien Béraud
ccd0cbd8f2
add per IP rate limiting ( #131 )
2016-09-21 15:44:20 -04:00
Adrien Béraud
e5213674e3
value: fix compilation on older clang
2016-09-20 17:02:29 -04:00
Adrien Béraud
b9cc848810
cmake: remove OPENDHT_DEBUG flag
...
Replace with -DCMAKE_BUILD_TYPE=Debug
2016-09-20 00:04:39 -04:00
Adrien Béraud
65bdfaf22b
autotools: fix 'make dist'
2016-09-18 13:55:14 -04:00
Adrien Béraud
de31d836b4
Merge pull request #132 from savoirfairelinux/feature/map_storage
...
dht: use a map for storage
2016-09-18 13:02:03 -04:00
Adrien Béraud
25b339956e
tools: gnutls cleanup
2016-09-16 01:43:58 -04:00
Adrien Béraud
23bb6e7a45
dht: use a map for storage
2016-09-16 01:29:33 -04:00
Adrien Béraud
b44f7ec653
Merge pull request #130 from savoirfairelinux/feature/sockaddr
...
introduce SockAddr to store IP addresses
2016-09-15 23:46:57 -04:00
Adrien Béraud
6d38c18572
introduce SockAddr to store IP addresses
2016-09-15 01:38:26 -04:00