Adrien Béraud
c3d3da20f6
Merge pull request #146 from sim590/permanent-put-enhancement
...
dht: make reannounce margin bigger, safer
2016-10-28 16:24:07 -04:00
Simon Désaulniers
9404a4d069
dht: make reannounce margin bigger, safer
...
Reannouncing margin going from 5 seconds to 10 seconds.
2016-10-28 15:24:09 -04:00
Adrien Béraud
274621dcec
dht: add searches(sa_family)
2016-10-27 18:12:05 -04:00
Adrien Béraud
2ab756906d
dht: getSearchLog for a specific search
2016-10-27 16:51:21 -04:00
Adrien Béraud
2b3f63443f
dht: maintain each storage independently
...
Schedule every storage maintenance independently,
to improve performance when there are a lot of storages.
2016-10-27 14:21:52 -04:00
Simon Désaulniers
7ee6281426
log: display time before each line in log
2016-10-25 16:40:48 -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
70b1ebae0b
dht: fix scheduler job edition on clang
2016-10-21 17:44:39 -04:00
Adrien Béraud
d4bd17a2dc
dhtrunner: use a second condition variable for bootstrap
2016-10-19 13:34:33 -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
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
7af856508e
dht: make connectivityChanged family dependent
2016-10-15 19:13:15 -04:00
Adrien Béraud
7c5e8c3234
sockaddr: add missing include for Win32
2016-10-12 14:38:39 -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
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
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
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
23bb6e7a45
dht: use a map for storage
2016-09-16 01:29:33 -04:00
Adrien Béraud
6d38c18572
introduce SockAddr to store IP addresses
2016-09-15 01:38:26 -04:00
Adrien Béraud
eabdddcfb3
dht: fix warnings
2016-09-08 18:02:17 -04:00
Adrien Béraud
ceab27d723
value: optimize chainAll for empty filters
2016-09-08 17:22:34 -04:00
Simon Désaulniers
2c0ce576e3
dht: enable data persistence
2016-09-08 12:24:35 -04:00
Simon Désaulniers
8f2cc937c5
dht: introduce light put
...
The 'put' operation will now first check if nodes already store the value we
have to announce. If so, we don't announce it to that node.
2016-09-08 12:24:35 -04:00
Simon Désaulniers
d60672e8ba
dht: remove unnecessary return value
2016-09-07 16:15:06 -04:00
Simon Désaulniers
fd4cce4883
NetworkEngine: insertNode tells routing table
2016-09-07 15:54:16 -04:00
Adrien Béraud
c33c2e7e95
crypto: add key, hash length parameters
2016-09-06 12:06:30 -04:00
Adrien Béraud
00ef660952
dht: hide more internal structures
2016-09-02 14:30:08 -04:00
Adrien Béraud
89d0d2f109
pht: fix compilation with pedantic
2016-09-01 18:02:23 -04:00
kaldoran
2d8fe502f2
Fix print of the lookup output
2016-09-01 18:02:23 -04:00
kaldoran
73df308250
Adding ZCurve algorithm
2016-09-01 18:02:23 -04:00
kaldoran
cdca40cb59
Rework prefix [add flags] and prepare prefix
2016-09-01 18:02:23 -04:00
kaldoran
6f4923da2e
dht: fix some typo
2016-09-01 18:02:23 -04:00
kaldoran
ae26a2b39a
Update of algorithm, by using new feature of api
2016-09-01 18:02:23 -04:00
kaldoran
48c40c8a27
pht: correction on the algorithm of complet node splitting
2016-09-01 18:02:23 -04:00
kaldoran
a4a4eee495
pht: introduction of complet node splitting
2016-09-01 18:02:23 -04:00
kaldoran
6855aaa6f4
Correction of error on SwapBit
2016-09-01 18:02:23 -04:00
kaldoran
2aee4f418f
Correction of the size of the prefix, now size does not include the size of the padding
2016-09-01 18:02:23 -04:00
kaldoran
95aef01a59
Pht : Fix out of range in isActiveBit function
2016-09-01 18:02:23 -04:00
kaldoran
d2ccde4859
pht: bit padding when the key is too short
2016-09-01 18:02:23 -04:00