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