Simon Désaulniers
5a239cddf7
pht: fix insert always to root bug
...
This makes the pht node recover all indexed data on a DHT node (maximum
MAX_NODE_ENTRY_COUNT per node) so that the pht node can be aware if it has to
split its data in the leaf.
2016-09-01 18:02:23 -04:00
Simon Désaulniers
c4928553ba
python: fix successive deref on cython object
2016-09-01 18:02:23 -04:00
Simon Désaulniers
48b0cff08e
pht: fix multiple DoneCallBack calls
2016-09-01 18:02:23 -04:00
Simon Désaulniers
c8fcffbe6b
fix possible out of range error in Prefix ctor
2016-09-01 18:02:23 -04:00
Simon Désaulniers
63c4eeb9c9
cover empty leaf case in inexact match lookup
...
In case this is inexact match lookup and we end up on an empty leaf (diffrent
than the root), the search goes on in the leaf's sibling subtree.
2016-09-01 18:02:23 -04:00
Simon Désaulniers
d45f777099
pht tools
2016-09-01 18:02:23 -04:00
Simon Désaulniers
9c4035dd8f
add inexact match lookup
...
This is meant to enable random lookup queries.
2016-09-01 18:02:23 -04:00
Simon Désaulniers
acc2b71c86
base pht indexation
2016-09-01 18:02:23 -04:00
Nicolas
09d849c93d
Update README.md
2016-09-01 17:46:04 -04:00
Nicolas
1be1ad88c6
Update README.md
2016-09-01 17:43:10 -04:00
Nicolas
8ecaf25339
Move logo in the right position
2016-09-01 17:41:33 -04:00
Adrien Béraud
7a6dce4727
securedht: don't complain about certificate announcement (reverted from commit 85a9dbafc6)
2016-09-01 17:12:28 -04:00
Adrien Béraud
b357ffb0e6
add logo
2016-09-01 17:10:59 -04:00
Adrien Béraud
517bd5f22b
opendht: add logo
2016-09-01 12:49:26 -04:00
Adrien Béraud
d1d0a67d35
dht: fix public address sorting
2016-09-01 12:46:39 -04:00
Adrien Béraud
85a9dbafc6
securedht: don't complain about certificate announcement
2016-09-01 12:46:39 -04:00
Nicolas
79390f72fa
Merge pull request #121 from sim590/benchmark-msgpack-ipc
...
[benchmark] new msgpack ipc
2016-08-31 16:25:21 -04:00
Simon Désaulniers
b7a37dd771
benchmark: msgpack with callback based IPC
2016-08-31 15:47:05 -04:00
Simon Désaulniers
b24d1ccc8b
benchmark: removing anormal behavior from normal test
2016-08-31 15:37:30 -04:00
Simon Désaulniers
4f53e10e7e
benchmark: enable traffic_plot for "delete" test
2016-08-31 15:37:30 -04:00
Simon Désaulniers
a608ad3cf6
benchmark: send new distinct values during test
...
During totallyNormalTest, an initial set of values would be put on the dht.
Then, random values from this same set would be put over time, but since values
would already be there, no put were really made.
2016-08-31 15:37:29 -04:00
Simon Désaulniers
a135f81073
benchmark: create function for displaying plot
2016-08-31 15:37:15 -04:00
Nicolas
2da48557ff
Merge pull request #120 from sim590/fix-timing-loops
...
dht: send find_node before sending 'listen'.
2016-08-30 16:14:22 -04:00
Simon Désaulniers
73686debaf
dht: before sending 'listen', send find_node
...
Since pagination, a bug was making the listen feature unusable running in
infinite loop. This also makes more sense than sending 'get' since the listen
request is paired with a Query defining the values that have to be fetched.
2016-08-30 15:51:50 -04:00
Adrien Béraud
97950621cd
crypto: check max data size for sign
2016-08-25 00:42:50 -04:00
Adrien Béraud
b3401828e4
dht: set "connecting" state when waiting for a ping
2016-08-25 00:42:50 -04:00
Nicolas
0a7d4a68b3
Merge pull request #119 from sim590/find-node-timings
...
dht: cover bad cases in SearchNode::canGet
2016-08-22 19:16:19 -04:00
Simon Désaulniers
8d7deffa6a
dht: properly find pending satisfying query
...
In SearchNode::canGet, we don't send a 'get' request to a search node if a
satisfying query for the query we want to send is already pending. This patch
honors this behavior.
2016-08-22 18:45:29 -04:00
Simon Désaulniers
669c08210e
dht: erase find node request status when done
...
This was memory leak and produced inconsistency in SearchNode::canGet timings.
2016-08-22 18:26:53 -04:00
Adrien Béraud
27a3231a55
argon2: bump source
2016-08-18 10:10:03 -04:00
Seva Ivanov
86ce695939
cython: change shared_ptr invocation to libcpp.memory
2016-08-16 10:27:34 -04:00
Adrien Béraud
2759a136df
infohash: add istream operator overload
2016-08-16 10:27:31 -04:00
Adrien Béraud
690682408b
build with -pedantic-errors, fix pedantic build errors
2016-08-16 10:26:44 -04:00
Nicolas
bfdb8a24e9
Merge pull request #113 from sim590/value-pagination-fix
...
dht: value pagination fix
2016-08-15 19:35:33 -04:00
Simon Désaulniers
e9bf042ac5
dht: document SearchNode::canGet
2016-08-15 13:44:52 -04:00
Simon Désaulniers
5aab3078c8
dht: properly handle pagination timings
2016-08-15 12:13:16 -04:00
Simon Désaulniers
1ac5840bb1
dht: let nodes expire properly
...
The line with `srn->getStatus[query]->setExpired()` in searchNodeGetExpired was
messign with the node expiration process.
2016-08-14 22:08:52 -04:00
Simon Désaulniers
426b3d6834
dht: pagination queries should be in SearchNode
...
Pagination queries must to be kept in seperate list per node. Otherwise, two
searches could be blocking each others or generating unwanted behavior.
2016-08-11 12:27:04 -04:00
Nicolas
97b573c182
Merge pull request #110 from sim590/value-pagination
...
dht: Value pagination using queries
2016-08-09 17:27:00 -04:00
Simon Désaulniers
5c41cbb964
dht: value pagination
...
Instead of literally asking to a node all values for givent `h`, we first ask
for all ids the node has. Then, we concurently and individually ask for each
values that match each id we recovered in our first request.
2016-08-09 15:43:55 -04:00
Simon Désaulniers
e192e3beaf
better indentation and comments
2016-08-09 15:42:05 -04:00
Adrien Béraud
5dacb50d63
Merge pull request #108 from sim590/search-refill-from-cache
...
dht: unify bootstrapSearch and refill method using node cache
2016-08-09 14:41:23 -04:00
Adrien Béraud
86d837b5a9
Merge pull request #106 from sim590/get-timings
...
[dht] rework get timings after queries in master
2016-08-09 14:23:13 -04:00
Adrien Béraud
6454a6dc3f
Merge pull request #109 from kaldoran/fix_put-get
...
dht: Fix, get does not include the put value if its performed just after it.
2016-08-08 18:10:05 -04:00
kaldoran
bbd1200ad7
dht: Fix get and put at the same time on a same node
...
When the put is performed just after a get, then the get will not include the value which was in the put.
2016-08-08 17:50:56 -04:00
Adrien Béraud
aa59242843
readme: add IRC link
2016-08-07 00:13:18 -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