Simon Désaulniers
e192e3beaf
better indentation and comments
2016-08-09 15:42:05 -04:00
Simon Désaulniers
c04ede4909
dht: unify bootstrapSearch and refill method
...
Since bootstrapSearch was rewritten to use the node cache, it made it clear that
refill should be rewritten as such. However, then bootstrapSearch becomes
irrelevant.
An enhancement to refill is that it will let insertNode review its whole list
of nodes and then let it insert nodes up to SEARCH_NODES nodes. The previous
method would not garantee this behavior since, most of the times, it would pass
less than SEARCH_NODES nodes to insertNode.
2016-08-06 21:14:17 -04:00
Adrien Béraud
a1eaf2e83c
Merge pull request #107 from sim590/minor-search-refactor
...
dht: more accurate name for requested nodes count
2016-08-05 23:03:25 -04:00
Simon Désaulniers
a21d4d4adc
queries: fix deserialization bug
...
Only the first two entries of the array would be accessed in a consistent way.
Therefor, only the two first field value index would be returned.
2016-08-05 21:20:58 -04:00
Simon Désaulniers
f0a92d999c
dht: more accurate name for requested nodes count
...
The number of currently requested nodes, formerly named currentGetRequests, was
renamed since it was not accurately describing the behavior. The number we are
counting is not the number of 'get' requests, but rather the number of nodes
being requested simultaneously.
2016-08-05 21:19:46 -04:00
kaldoran
df3317a5b2
dht: bootstrap from cache instead of routing table
2016-08-03 10:04:02 -04:00
kaldoran
33f95c00a9
NodeCache: getNode takes bool not int
...
Since this was old code which use int as bool I edit that for a bool [and change related code]
2016-08-02 18:57:20 -04:00
Adrien Béraud
7383505dcc
value: increase max value size to 16KiB
2016-08-01 10:47:21 -04:00
Nicolas
7721aa5643
api: Add value creation timepoint ( #97 )
2016-07-28 17:03:11 -04:00
Simon Désaulniers
62835bdc54
dht: make main store a vector<unique_ptr<Storage>>
...
Since the elements inside are going to be moved constantly during the life of
the node, this design is better. Also, it works around a crash when the store is
resized (elements inside moved) at some point (always happenned the 3rd time)
for some reason. This bug was known when compiled with LLVM >7.3.0 (>clang-703.0.31).
2016-07-22 16:57:46 -04:00
Simon Désaulniers
f474f6499b
value: missing return, errors on non-gcc
...
Gcc understands the syntax without return value, but this confuses other
compilers.
2016-07-18 14:18:37 -04:00
Simon Désaulniers
78c7cae7e9
dhtrunner: add query in dhtrunner API
2016-07-10 19:26:13 +02:00
Simon Désaulniers
a4834efd37
dht: use queries in dht
2016-07-10 19:26:13 +02:00
Simon Désaulniers
07e4435a07
value: add Query relevant structures
2016-07-10 19:26:04 +02:00
aviau
63f1a736f4
fixed typos
2016-06-27 19:33:52 +02:00
Adrien Béraud
b09e3df2e2
add network id to distinguish different networks
2016-06-21 03:06:47 -04:00
Adrien Béraud
33f29e95f4
value: add common crypto ops
2016-06-15 13:35:44 -04: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
Adrien Béraud
cf8d9ccd0d
infohash: merge Windows includes
2016-06-02 17:52:07 -04:00
Andreas Traczyk
9e461e0960
microsoft compiler support
2016-06-02 12:17:09 -04:00
Adrien Béraud
3a42846f98
utils: include ws2tcpip.h on Windows
2016-05-28 16:40:56 -04:00
Adrien Béraud
5ca04b1da4
utils: include socket.h
2016-05-27 16:03:30 -04:00
Adrien Béraud
c831ec8f16
rng: add include guard
2016-05-27 15:46:45 -04:00
Adrien Béraud
d44c59016e
network_engine: remove onNewNode return value
2016-05-27 14:54:56 -04:00
Adrien Béraud
4d75f64576
log: rename ERROR to ERR to build on Windows
2016-05-27 12:30:32 -04:00
Adrien Béraud
564e97fce7
dht: use 4 listen nodes
2016-05-24 03:44:18 -04:00
Adrien Béraud
6cdc242b6e
node: add pendingMesageCount
2016-05-24 03:44:18 -04:00
Adrien Béraud
db376aa0a2
scheduler: simplify design
2016-05-22 16:56:47 -04:00
Adrien Béraud
0e7dda680a
header cleanup
2016-05-22 16:56:47 -04:00
Adrien Béraud
22958342f1
headers: move inclusion of networking APIs to Infohash
2016-05-20 12:12:44 -04:00
Adrien Béraud
84578f7820
value: reduce size limit to 14KB
2016-05-19 17:28:31 -04:00
Adrien Béraud
9ad21d5c5d
dht: remove newSearch()
2016-05-18 01:23:18 -04:00
Adrien Béraud
891969f5eb
node: reduce max response time to 1s
2016-05-17 20:39:16 -04:00
Adrien Béraud
e68a2fd967
securedht: add public key cache
2016-05-17 20:39:16 -04:00
Adrien Béraud
cc18afd818
value: make 'owner' a shared_ptr
2016-05-17 20:39:16 -04:00
Adrien Béraud
79dde3378a
dht: increase max searches
2016-05-14 23:16:23 -04:00
Adrien Béraud
a926e273af
dht: forward-declare more internal structures
2016-05-14 15:48:34 -04:00
Adrien Béraud
f1b3e41e63
securedht: override all versions of Dht::get
2016-05-14 15:48:34 -04:00
Adrien Béraud
e37307654f
make sure securedht methods override dht's
2016-05-13 16:38:23 -04:00
Adrien Béraud
d3b9c4b7b6
network engine: improve node packing
2016-05-13 16:38:23 -04:00
Adrien Béraud
d26a34f409
node_cache: use std::map
2016-05-13 16:38:23 -04:00
Guillaume Roguez
c5da946e76
crypto: mark all operator bool as explicit
...
If operator bool is not marked as explicit and you try to do such:
a == b
where a and b are instances of class with overloaded bool operator,
the behavior is not the waited one: a and b are casted to bool
BEFORE the comparaison! This could lead into non waited situation.
This patch fixes all operator bool() where overloaded.
This also implements PublicKey operators == and != as needed in value.h.
This last showed a typical case explained upper.
Signed-off-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com >
2016-05-10 15:26:15 -04:00
Adrien Béraud
91bf5bb41b
allow to cancel request without network engine
2016-05-10 12:50:20 -04:00
Adrien Béraud
040e3770ad
node: use requests to determinate state
2016-05-09 16:17:59 -04:00
Adrien Béraud
ef1bf5ccec
move node cache to message engine
2016-05-08 00:37:52 -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
98a3960bf8
fix wrong std::move in Value::Filter::chain
...
Also, instance calls to Value::Filter::chain methods were moving the calling
instance while you may not want this in many cases.
2016-05-05 16:29:59 -04:00
Adrien Béraud
92613f5fbf
net: improve request state consistency
2016-05-03 18:33:38 -04:00
Adrien Béraud
c215bf1d39
net: a pending request is a non-completed request
2016-05-03 13:56:05 -04:00
Adrien Béraud
add1179bc2
dht: remove constexpr to preserve backward compatibility
2016-05-03 13:55:18 -04:00