Commit Graph
299 Commits
Author SHA1 Message Date
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
Adrien Béraud 733cf335d3 dht: limit concurrent search requests instead of steps intervals 2016-05-03 12:05:14 -04:00
Adrien Béraud 15f4ea4d88 node: add toString() 2016-05-03 11:09:28 -04:00
Simon Désaulniers 8cce5cd6e8 removed commented duplicate utility function 2016-05-02 15:25:15 -04:00
Adrien Béraud 820598c179 network engine: change sendError message argument to std::string 2016-05-02 15:25:15 -04:00
Adrien Béraud a0a108512c expire request when node is expired 2016-05-02 15:25:15 -04:00
Adrien Béraud d062f7bd24 make sendPing use Node by default
previous code was duplicating nodes, causing
sending many "dubious node" pings to the same node.
2016-05-02 15:25:15 -04:00
Adrien Béraud 0890ed9c4f move routing table to a different file 2016-05-02 15:25:15 -04:00
Adrien Béraud f9e6662f7d use Node in tellListener 2016-05-02 15:25:15 -04:00
Adrien Béraud 20662a9b4c cancel request when receiving token error 2016-05-02 15:25:15 -04:00
Adrien Béraud 3367043e92 NE fixes 2016-05-02 15:25:15 -04:00
Simon Désaulniers badf9a3027 replaced tabs with spaces in multiple files. 2016-05-02 15:25:15 -04:00
Simon Désaulniers f7a334a979 dht: make sure searchStep is called when needed. 2016-05-02 15:25:15 -04:00
Simon Désaulniers 08dc666839 dht: network engine does the node ping count 2016-05-02 15:25:15 -04:00
Simon Désaulniers 97fccc4458 dht: fix drop due to ratelimit bug 2016-05-02 15:25:15 -04:00
Simon Désaulniers ee31881825 changed license to GPLv3 2016-05-02 15:25:15 -04:00
Simon Désaulniers dafae934c4 actually cancelling listens when appropriate
Just before, listens were "cancelled", but unsued memory in network engine's
data structure would be left there.
2016-05-02 15:25:15 -04:00
Simon Désaulniers 2a88117dd4 netengine: merging RequestStatus, Request
This is a change needed to enable easy and clean cancelling of requests from the
upper layer (dht layer). Request's content that was hidden from (dht layer) is
still hidden (private), but enable NetworkEngine as a friend of the Request
class for accessing lower layer attributes.
2016-05-02 15:25:15 -04:00
Simon Désaulniers 72f4d58f7e dht: fix listen confirmation, getvalues concurency
Upon receiving a listen confirmation, a Request structure shall be left alive in
the NetworkEngine's map so that further 'get values' answers for that same
listen can be treated properly. This was sort of handled before, but with a
concurency issue between the set of values returned associated to the listen
request and just before the listenConfirmation was returned.
2016-05-02 15:25:15 -04:00
Simon Désaulniers 717b58fcc6 dht: handling get token only after 'get' request. 2016-05-02 15:25:15 -04:00