Stephen Shelton
e38a507551
<3 Windows (prefer fs::path::string() over native())
2020-07-02 10:22:07 -06:00
Stephen Shelton
1e95625f27
<3 apple -- avoid std::optional::value()
2020-07-02 10:22:07 -06:00
Stephen Shelton
93bafcf142
Set up sqlite3 deps 'if NOT TAGRET sqlite3'
2020-07-02 10:22:06 -06:00
Stephen Shelton
eb9a862f51
Sqlite3 deps for Windows / static targets
2020-07-02 10:22:06 -06:00
Stephen Shelton
186a35c0e2
Appease clang (fixes for minor compilation errors)
2020-07-02 10:22:06 -06:00
Stephen Shelton
fd230dd93b
<3 apple
2020-07-02 10:22:05 -06:00
Stephen Shelton
6e1a23cdc7
Use pkg_check_modules instead of find_package for sqlite3
2020-07-02 10:22:05 -06:00
Stephen Shelton
0ecdda7a89
make format
2020-07-02 10:22:04 -06:00
Stephen Shelton
8628212269
<3 jsonnet
2020-07-02 10:22:04 -06:00
Stephen Shelton
4aa6f8e2df
Use find_package() for sqlite3
2020-07-02 10:22:04 -06:00
Stephen Shelton
aeb0c2be3a
Remove ability to stop routers from gossiping for now
2020-07-02 10:22:03 -06:00
Stephen Shelton
bdac43e19f
Peer stats test which artificially stops a router from gossiping its RC
2020-07-02 10:22:03 -06:00
Stephen Shelton
63f41d6a98
Introduce mutex for hive's routers
2020-07-02 10:22:03 -06:00
Stephen Shelton
3b6f84c68c
Peek at peer stats db in test_peer_stats
2020-07-02 10:22:02 -06:00
Stephen Shelton
c4cbbd6731
RouterHive: store router contexts by routerId instead of index
2020-07-02 10:22:02 -06:00
Stephen Shelton
d1b629f494
RouterHive ConnectionAttemptEvent
2020-07-02 10:22:02 -06:00
Stephen Shelton
d69d538f1a
Add missing files
2020-07-02 10:16:19 -06:00
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