Commit Graph

317 Commits

Author SHA1 Message Date
Stephen Shelton
2ebd9bbd95
Implement PublishServiceJob::SendReply() 2020-02-28 20:59:24 -07:00
Stephen Shelton
638ea2e0fd
Make format 2020-02-28 17:07:35 -07:00
Stephen Shelton
d09fd13dd6
Calculate 'candidateNumber' when we should store Introset 2020-02-28 17:00:49 -07:00
Stephen Shelton
37ca564005
Log when DHTSendTo fails @ Router::SendToOrQueue 2020-02-28 16:56:35 -07:00
Stephen Shelton
62014de91c
Handle PubIntro relayOrder logic on client-side 2020-02-28 16:45:04 -07:00
Stephen Shelton
a8623f09e9
Properly deserialize PubIntroMessages' relayed var 2020-02-28 16:30:10 -07:00
Stephen Shelton
c0fbe06c0f
Require 'From' and 'relayed' in PublishIntroMessage ctor 2020-02-28 16:28:57 -07:00
Stephen Shelton
f61cd1a7da
Add some notes/comments about DHT message handling 2020-02-28 16:26:52 -07:00
Stephen Shelton
6b906de00d
Judicious removal of dead code 2020-02-28 16:26:45 -07:00
Jeff Becker
dea78d2326
change function signature for dht context to exclude time parameter 2020-02-27 11:37:23 -05:00
Jeff Becker
7a84bbe459
remove dht explore timer 2020-02-27 11:28:01 -05:00
Jeff Becker
bf0416cab8
remove Time_t, add operator overload for printing llarp_time_t and add to_json function for serializing llarp_time_t to json 2020-02-25 12:05:13 -05:00
Jeff Becker
d2d109e92c
llarp_time_t is now using std::chrono 2020-02-24 15:25:03 -05:00
Jeff Becker
f4520ac920
make decaying hashset use llarp::Time_t and move unit tests to use catch2 2020-02-24 15:22:49 -05:00
Jason Rhinelander
089056ca5b Remove all ABSL_ATTRIBUTE_UNUSED uses 2020-02-24 14:27:44 -04:00
Jason Rhinelander
f84ce61d66 Removed empty cpp files
These aren't needed: CMake already knows how to follow #includes and
rebuild when headers change as long as the headers are included
*somewhere*.  The extra .cpp files here just require building a bunch of
.cpp files with just header content that we just end up throw away
during linking (since the same things will also be compiled in whatever
other compilation units include the same headers).
2020-02-21 23:39:11 -04:00
Jeff
7c5a721457
Merge pull request #1114 from notlesh/redundant-introset-lookup-improvements-2020-02-20
Redundant introset lookup improvements
2020-02-20 15:25:09 -05:00
Stephen Shelton
63c3106db2
Make format 2020-02-20 13:14:20 -07:00
Stephen Shelton
0429bafbb3
Merge pull request #1111 from notlesh/redundant-introset-propagation-2020-02-19
Redundant introset propagation
2020-02-20 10:50:06 -08:00
Stephen Shelton
66cb30fa58
Refactor: remove recursionDepth from DHT lookups 2020-02-20 11:18:05 -07:00
Stephen Shelton
45a36fcfee
Rework FindIntro logic per redundant strategy 2020-02-20 09:23:41 -07:00
Stephen Shelton
4c499fb076
Make format 2020-02-20 08:36:29 -07:00
Stephen Shelton
6966168f5a
Minor improvements to DHT inroset propagation 2020-02-19 17:30:58 -07:00
Stephen Shelton
dff9aeb250
Propagate Introset publishing redundantly 2020-02-19 17:07:46 -07:00
Jason Rhinelander
ac1486d0be Replace absl::optional with optional-lite
Step 1 of removing abseil from lokinet.

For the most part this is a drop-in replacement, but there are also a
few changes here to the JSONRPC layer that were needed to work around
current gcc 10 dev snapshot:

- JSONRPC returns a json now instead of an optional<json>.  It doesn't
  make any sense to have a json rpc call that just closes the connection
  with returning anything.  Invoked functions can return a null (default
  constructed) result now if they don't have anything to return (such a
  null value won't be added as "result").
2020-02-19 18:21:25 -04:00
Jeff Becker
763f61e454 dont collide variable names 2020-02-14 17:43:13 -04:00
Stephen Shelton
9dfcfbc3ac Bencode/decode relayOrder in lexigraphical order, make it uint64_t 2020-02-14 17:43:13 -04:00
Stephen Shelton
127e7ef31b Make format 2020-02-14 17:43:13 -04:00
Stephen Shelton
adf8772f3c Remove relayOrder from MessageDecoder 2020-02-14 17:43:13 -04:00
Stephen Shelton
6ca2c11e59 Serialize / deserialize relayOrder @ FindIntroMessage 2020-02-14 17:43:13 -04:00
Stephen Shelton
906803e387 Refactor DHT introset lookups to use redundant lookup strategy 2020-02-14 17:43:13 -04:00
Stephen Shelton
fa1df8db63 Big R, little r, what begins with R? 2020-02-14 17:43:13 -04:00
Jeff Becker
ea3851d15f
rc gossiping 2020-02-12 12:10:48 -05:00
Jeff
8cad7fecbd
Merge pull request #1087 from majestrate/dont-flood-dht-2020-02-07
dont flood dht with requests, if we know of a router don't look it up
2020-02-08 11:26:07 -05:00
Jeff Becker
00260555bd
logic simplification 2020-02-07 15:28:13 -05:00
Jeff Becker
e4a16dfdd5
fix comment 2020-02-07 15:22:58 -05:00
Jeff Becker
b211450cc8
always recurse to second closest if we don't have it 2020-02-07 15:20:47 -05:00
Jeff Becker
19d91a440f
move declaration of peer 2020-02-07 14:50:02 -05:00
Jeff Becker
3bea7327cb
handle end case by telling requester that it's not there 2020-02-07 14:46:12 -05:00
Jeff Becker
7e1a6236be
if relayed try closer router if we don't have an intro 2020-02-07 14:35:57 -05:00
Jeff Becker
a9331a1431
fix unit test 2020-02-07 13:48:56 -05:00
Jeff Becker
cd27b33849
dont flood dht with requests, if we know of a router don't look it up 2020-02-07 13:19:00 -05:00
Jason Rhinelander
fe8a72750a Silence unused parameter warning 2020-01-31 16:47:25 -04:00
Jeff Becker
99eb7726ff
initial dht key blinding 2020-01-27 16:30:41 -05:00
Jeff Becker
4f81b913ef
make router version member optional on serialization 2020-01-27 11:55:19 -05:00
Jeff Becker
9efd796145
initial wack at 0.7.0 dht fixes 2020-01-27 11:54:51 -05:00
Jeff Becker
626b2a6196
return true 2020-01-23 12:10:58 -05:00
Jeff Becker
e87b754906
fix recursion depth on introset lookup 2020-01-23 12:10:58 -05:00
Jeff Becker
2c0dc12f39
refactor single char variables in DHT (mostly) 2020-01-23 12:10:58 -05:00
Jeff Becker
ae8bb3751b
connect to closest for RC lookups too 2020-01-23 12:10:58 -05:00
Jeff Becker
49f696de9c
connect to closer nodes for introset lookups 2020-01-23 12:10:57 -05:00
Jeff Becker
3b66cf6e75
dht fixes, disable iterative lookups on clients, revert "fixes" from 0.6.3, pass in recursion depth from introset lookup 2020-01-22 17:08:05 -05:00
Stephen Shelton
c92e7ae5c7
Add warning when we found a null RC for a DHT lookup 2020-01-15 19:37:12 -07:00
Jeff Becker
a17b5f25b5
check for zero'd rc 2020-01-15 10:43:21 -05:00
Jeff Becker
4cb6301e28
use copy not move 2020-01-15 10:41:43 -05:00
Jeff Becker
c5feb07fb9
address feedback from tom 2020-01-14 15:48:39 -05:00
Jeff Becker
6fd714d193
contrib/testnet: fix up testnet config generator to make super centralized topology
llarp/context.cpp, llarp/nodedb.{h,c}pp: load netdb AFTER whitelist
llarp/router/router.cpp: explore always
llarp/router/{i,}rc_lookup_handler.{h,c}pp explore with whitelist, update routers with lookup before stale
2020-01-14 15:12:47 -05:00
Jeff Becker
9322df013b
check with rc handler before insert 2020-01-14 13:39:08 -05:00
Jeff Becker
2af64671bf
make it compile 2020-01-14 13:10:10 -05:00
Jeff Becker
0526fef37b
store RCs if valid 2020-01-14 13:08:27 -05:00
Jeff Becker
09f5f6dfa7
disable iterative lookup 2020-01-14 07:07:10 -05:00
Jeff
0e2c5736a8
Merge pull request #1034 from majestrate/dht-timeout-fixes-2020-01-10
dht timeout tweak
2020-01-10 17:35:56 -05:00
Jeff Becker
78cdf8f96b
variable lookup timeout on participants 2020-01-10 11:23:30 -05:00
Jeff Becker
8bb492da6e
dht timeout tweak 2020-01-10 10:45:25 -05:00
Jeff Becker
b2784dd5ec
explore faster 2020-01-09 06:14:04 -05:00
Jeff Becker
a3e7324e9a
make it compile 2020-01-07 13:00:03 -05:00
Jeff Becker
c3b14b32b4
relays do profiling and not hand out "shit" routers in explore 2020-01-07 12:59:53 -05:00
Jeff Becker
8b8d636ded
make format 2019-12-22 09:16:28 -05:00
Thomas Winget
e53e3db171 make dht context use new libuv timers 2019-12-18 13:35:18 -05:00
Stephen Shelton
66a058a2af Make format 2019-12-06 10:13:09 -07:00
Stephen Shelton
93b8832026
Merge branch 'dev' into private-keys-backup-support 2019-12-03 11:20:45 -07:00
Jeff Becker
56dce90de9
add trace log level for tracking logic thread jobs 2019-11-22 16:23:19 -05:00
Stephen Shelton
db56e17c23 Rename bencode function for clarity 2019-11-22 14:14:37 -07:00
Jeff Becker
d54dc7a988
prune dht peers every router tick 2019-09-10 10:16:32 -04:00
Michael
edd0ec398f
Move thread stuff to subdirectory 2019-09-03 20:52:28 +01:00
Michael
1aec0dfa2b
Move logging to subdirectory 2019-09-03 20:52:27 +01:00
Jeff Becker
b904a4ee22
fix explore 2019-08-28 08:44:50 -04:00
Michael
777261cb20
Use ToString over ToHex 2019-08-19 22:26:37 +01:00
Michael
094b697b01
Replace StatusObject with underlying JSON type 2019-08-19 10:33:26 +01:00
Michael
16cdfbd5f0
clang-tidy modernize pass 2019-08-12 16:52:58 +01:00
Michael
f9e9227e19
Fix gcc trunk warnings 2019-08-02 10:29:08 +01:00
Jeff Becker
7e9ef19f69
use std::min 2019-07-30 13:57:23 -04:00
Jeff Becker
f4ac918b7e
remove -1 2019-07-30 13:56:24 -04:00
Jeff Becker
d595b51b0b
fix dht exploration ;~; 2019-07-30 11:59:12 -04:00
Jeff Becker
e1dd7ad97f
revert dht stuff 2019-07-29 18:33:49 -04:00
Jeff Becker
db2206664a
fix crashes in testnet 2019-07-29 11:10:20 -04:00
Jeff Becker
9a8470bcc1
* const correctness
* use std::map's upper_bound to find many closer entries
* randomize key for exploration to allow many explore jobs in paralell
2019-07-29 09:08:40 -04:00
Thomas Winget
baf8019fe5 Refactor Router code into more classes
This commit refactors functionality from the Router class into separate,
dedicated classes.
There are a few behavior changes that came as a result of discussion on
what the correct behavior should be.
In addition, many things Router was previously doing can now be provided
callback functions to alert the calling point when the asynchronous
action completes, successfully or otherwise.
2019-07-25 14:11:02 -04:00
Jeff Becker
1ee90f8852
do lookup for RC to neighboor even if we have them in our DHT buckets so we get an updated RC in reply 2019-07-19 13:21:20 -04:00
Jeff Becker
f62446e1a4
make it compile 2019-07-17 10:51:42 -04:00
Jeff Becker
a0f32fde13
reduce logging 2019-07-17 08:25:51 -04:00
Jeff Becker
12d4bfc379
always ask peers for next closest 2019-07-15 14:15:53 -04:00
Jeff Becker
16e20a9e79
try fixing bootstrap 2019-07-15 12:56:09 -04:00
Michael
488695047f
Remove redundant else blocks 2019-07-09 22:54:46 +01:00
Michael
d6751e3eeb
Move subset of messages to right directory 2019-06-19 21:35:26 +01:00
Michael
b89689fec3
Refactor path build code 2019-06-18 22:51:41 +01:00
Michael
491fee206b
Port code to use CryptoManager over passing Crypto pointers 2019-05-28 20:45:08 +01:00
Michael
3f53965b71
Remove all use of IBEncodeMessage 2019-05-24 03:01:36 +01:00
Jeff
28623766c1
Merge pull request #617 from majestrate/master
changes after consensous
2019-05-22 08:06:26 -04:00
Michael
7ca0927d8f
Replace dict_reader/list_reader with version which doesn't involve indirection 2019-05-22 01:36:03 +01:00