Stephen Shelton
b2a72dd46a
Initial test_peer_stats hive test
2020-07-02 10:16:19 -06:00
Stephen Shelton
2453fff10b
Piggyback on link callbacks to add peer stats
2020-07-02 10:13:26 -06:00
Stephen Shelton
cb8e5354f5
Add some breadcrumbs about how ILinkLayer's callbacks are used
2020-07-02 10:13:26 -06:00
Stephen Shelton
c9faddc8e4
Use fs::path since mac doesn't support std::filesystem
2020-07-02 10:13:25 -06:00
Stephen Shelton
5a8f390b3b
Make mutex mutable, fix typo
2020-07-02 10:13:25 -06:00
Stephen Shelton
023e061146
Make [router]:enable-peer-stats only valid for client
2020-07-02 10:13:25 -06:00
Stephen Shelton
54017652d6
log--
2020-07-02 10:13:24 -06:00
Stephen Shelton
d897099e1d
Track traffic peerstats
2020-07-02 10:13:24 -06:00
Stephen Shelton
77b98459dd
Implement RouterID serialization in sqlite_orm
2020-07-02 10:13:24 -06:00
Stephen Shelton
a9ce319e76
Make llarp_time_t serializable in sqlite_orm
2020-07-02 10:13:23 -06:00
Stephen Shelton
aa1c8f257f
Sort out peerstats receive <-> expiry windows
2020-07-02 10:13:23 -06:00
Stephen Shelton
4b4284ccf4
PeerDb sqlite optimizations
2020-07-02 10:13:23 -06:00
Stephen Shelton
5e05defc76
Add API query for peer stats, other related fixes
2020-07-02 10:13:22 -06:00
Stephen Shelton
595288e046
Add PeerDb::handleGossipedRC
2020-07-02 10:13:22 -06:00
Stephen Shelton
7109ddc951
Add PeerDb::modifyPeerStats()
2020-07-02 10:13:21 -06:00
Stephen Shelton
4f4192e272
constexpr
2020-07-02 10:13:21 -06:00
Stephen Shelton
2a30e7dac2
Add PeerDb to Router
2020-07-02 10:13:21 -06:00
Stephen Shelton
cc6e9c882a
Use foo.snode as peerstats unique id, test file-backed db
2020-07-02 10:12:14 -06:00
Stephen Shelton
a30806b375
Some sqlite_orm related fixes
2020-07-02 10:12:14 -06:00
Stephen Shelton
98171aad36
Add libsqlite3-dev to drone
2020-07-02 10:12:13 -06:00
Stephen Shelton
8adb6295fc
Initialize sqlite_orm and start interacting with it
2020-07-02 10:12:13 -06:00
Stephen Shelton
73c9ddff52
Begin peer stats infrastructure
2020-07-02 10:12:11 -06:00
Jeff
352cc12780
Merge pull request #1306 from majestrate/integrate-lmq-2020-05-19
...
LokiMQ
2020-07-02 12:09:56 -04:00
Jeff Becker
2c0c6aa819
log error instead of executing job
2020-07-02 12:05:39 -04:00
Jeff Becker
d7ff6c579c
address feedback from jason
...
* split up ipv6 netmask
* revert iwp ack interval change
* c++17-isms in ip range map
* lambda-ize nodedb
* mutable lambdas in transit hops
* perfect forwarding of args in abstract router
* mutable lambdas in lokid rpc client
* notes in readme about nproc
2020-07-02 11:13:32 -04:00
Jeff Becker
26f62bc260
make pybind compile
2020-07-02 11:13:32 -04:00
Jeff Becker
d85c7bc628
remove wrapper and just use a lambda that throws on non empty value
2020-07-02 11:13:32 -04:00
Jeff Becker
a0dc2e795c
add a wrapper that always throws with a custom error message
...
use that wrapper for lokid.jsonrpc
2020-07-02 11:13:32 -04:00
Jeff Becker
a9109aa91b
* deprecate old unused lokid rpc options
...
* use lokimq::address in config and in lokid rpc
* bump lokimq submodule
2020-07-02 11:13:31 -04:00
Jeff Becker
80919a3b76
address feedback.
...
* use exceptions when fetching identity key instead of std::optional, will throw on fail
* fix up config options for endpoint auth and add better docs
* add llarp::serive::AuthType enum for controlling what kind of endpoint auth to use
2020-07-02 11:13:31 -04:00
Jason Rhinelander
a7c42ab2bd
Use lokimq's hex/base32z encoding/decoding
2020-07-02 11:13:31 -04:00
Jason Rhinelander
271ded7a1f
Fix test variable scope
...
These variables need to persist past the end of the lambda and weren't;
release builds didn't seem to mind access the freed memory, but Debug
builds triggered failures.
2020-07-02 11:13:31 -04:00
Jason Rhinelander
3dff5931a2
Use imaginary repo for sodium on bionic/arm64
...
Building both sodium + libzmq is kind of a pain, so just use the
backport libsodium from the loki repo on deb.imaginary.stream.
2020-07-02 11:13:31 -04:00
Jeff Becker
8772c05a13
revert download libsodium target name change
2020-07-02 11:13:31 -04:00
Jeff Becker
2737cd6f98
remove FindSodium.cmake and use the cmake incantations from loki-core for setting sodium target up
2020-07-02 11:13:31 -04:00
Jeff Becker
c6bd0afe96
move sodium cmake target about so that it is detected earlier
2020-07-02 11:13:31 -04:00
Jeff Becker
8fc52fcbbe
increase test timeout
2020-07-02 11:13:31 -04:00
Jeff Becker
9f7ac7a9a3
apply patch
2020-07-02 11:13:31 -04:00
Jeff Becker
e85efcf7ce
move include so it's included on all platforms including windows
2020-07-02 11:13:30 -04:00
Jeff Becker
c2f9c46686
zmq requires win xp or higher.
2020-07-02 11:13:30 -04:00
Jeff Becker
92bb135a73
only bump loki-mq submodule
2020-07-02 11:13:30 -04:00
Jeff Becker
c9a2222d39
Revert "bump submodules"
...
This reverts commit 0de2b994fa3e3252eae46d39960dd17872184050.
2020-07-02 11:13:30 -04:00
Jeff Becker
00aa78c80a
it's safe to call reply from another thread because all it does is fufill a promoise
2020-07-02 11:13:30 -04:00
Jeff Becker
0f21eeccb0
* rework exit codepath to allow multiple exits
...
* rework net code for ip ranges to be cleaner
* clean up endpoint auth code
* refactor config to validate network configs before setting up endpoints
* remove buildone from path/pathbuilder.cpp so we don't spam connection attempts
2020-07-02 11:13:30 -04:00
Jeff Becker
2ef2e6171a
bump submodules
2020-07-02 11:13:30 -04:00
Jeff Becker
eb0f29223a
add docs to gdb-filter.py
...
turn off thread logging in gdb
make sure everything runs in gdb when running test
add note in contrib/format.sh about a GNU-ism
2020-07-02 11:13:30 -04:00
Jeff Becker
3cdca30a74
more auth shit
2020-07-02 11:13:30 -04:00
Jeff Becker
0d6e3bcd89
fix crashing tests
2020-07-02 11:13:30 -04:00
Jeff Becker
0787b6e2fd
load config differently for unit tests because they run as root in CI for some reason
2020-07-02 11:13:29 -04:00
Jeff Becker
98a3b45f16
disable logging to see why ci tests die like a sucka
2020-07-02 11:12:50 -04:00