Commit Graph

214 Commits (ubuntu/bionic)

Author SHA1 Message Date
Stephen Shelton b2a72dd46a
Initial test_peer_stats hive test 4 years ago
Stephen Shelton d897099e1d
Track traffic peerstats 4 years ago
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
4 years ago
Jeff Becker f4971a88fd
use lokimq workers instead of llarp:🧵:ThreadPool 4 years ago
Stephen Shelton 91a2af0eda
Sanity checks around shared_from_this() 4 years ago
Jeff Becker 44c790b65c
revert back to for loop for simplicity 4 years ago
Jeff Becker db00d080f6
use std::list instead of std::vector because idfk man 4 years ago
Jeff Becker 96cbab33c3
style: put iterator erase in for loop update 4 years ago
Jeff Becker 44ff3a9928
copy assignment so we don't crash 4 years ago
Jeff Becker 149a01c80f
dont use std::bind, use lambda 4 years ago
Jeff Becker 3a776b3ed1
bounds checks and such 4 years ago
Jeff Becker 3eb006f78c
iwp/libuv cleanup: remove llarp_pkt_list and all users of it as it's broke 4 years ago
Jeff Becker e56faba23d
make format 4 years ago
Jason Rhinelander dccc663f31 Miss Match demands her name be removed from the code
(i.e. fix speeling mistack: missmatch -> mismatch)
4 years ago
Stephen Shelton aee96e53a3
Refactor Addr -> IpAddress/SockAddr 4 years ago
Stephen Shelton 273270916e
The Great Wall of Blame
This commit reflects changes to clang-format rules. Unfortunately,
these rule changes create a massive change to the codebase, which
causes an apparent rewrite of git history.

Git blame's --ignore-rev flag can be used to ignore this commit when
attempting to `git blame` some code.
4 years ago
Jeff Becker 3b424f76f1
strict check of bounds 4 years ago
Jeff Becker b398076bc6
add bounds check 4 years ago
Jeff Becker b96700579e
remove un needed check 4 years ago
Jeff Becker 53e7397935
fix use after move 4 years ago
Jeff Becker 769bafd281
disable accedental fec in iwp outbound messages 4 years ago
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 4 years ago
Jeff Becker ecdab10dac
explictly use std::chrono::milliseconds 4 years ago
Jeff Becker df427ffa0e
use llarp_time_t instead of auto 4 years ago
Jeff Becker d2d109e92c
llarp_time_t is now using std::chrono 4 years ago
Jason Rhinelander b4440094b0 De-abseil, part 2: mutex, locks, (most) time
- util::Mutex is now a std::shared_timed_mutex, which is capable of
  exclusive and shared locks.

- util::Lock is still present as a std::lock_guard<util::Mutex>.

- the locking annotations are preserved, but updated to the latest
  supported by clang rather than using abseil's older/deprecated ones.

- ACQUIRE_LOCK macro is gone since we don't pass mutexes by pointer into
  locks anymore (WTF abseil).

- ReleasableLock is gone.  Instead there are now some llarp::util helper
  methods to obtain unique and/or shared locks:
    - `auto lock = util::unique_lock(mutex);` gets an RAII-but-also
      unlockable object (std::unique_lock<T>, with T inferred from
      `mutex`).
    - `auto lock = util::shared_lock(mutex);` gets an RAII shared (i.e.
      "reader") lock of the mutex.
    - `auto lock = util::unique_locks(mutex1, mutex2, mutex3);` can be
      used to atomically lock multiple mutexes at once (returning a
      tuple of the locks).
  This are templated on the mutex which makes them a bit more flexible
  than using a concrete type: they can be used for any type of lockable
  mutex, not only util::Mutex.  (Some of the code here uses them for
  getting locks around a std::mutex).  Until C++17, using the RAII types
  is painfully verbose:

  ```C++
  // pre-C++17 - needing to figure out the mutex type here is annoying:
  std::unique_lock<util::Mutex> lock(mutex);
  // pre-C++17 and even more verbose (but at least the type isn't needed):
  std::unique_lock<decltype(mutex)> lock(mutex);
  // our compromise:
  auto lock = util::unique_lock(mutex);
  // C++17:
  std::unique_lock lock(mutex);
  ```

  All of these functions will also warn (under gcc or clang) if you
  discard the return value.  You can also do fancy things like
  `auto l = util::unique_lock(mutex, std::adopt_lock)` (which lets a
  lock take over an already-locked mutex).

- metrics code is gone, which also removes a big pile of code that was
  only used by metrics:
  - llarp::util::Scheduler
  - llarp:🧵:TimerQueue
  - llarp::util::Stopwatch
4 years ago
Jeff 5901d0eb6b
Merge pull request #1092 from majestrate/reduce-iwp-multiack-frequency-2020-02-10
Reduce iwp multiack transmission frequency
4 years ago
Jeff Becker 8b77ec31ef
reduce number of multiack packets sent 4 years ago
Stephen Shelton 3d00feb08a
Make format 4 years ago
Stephen Shelton 7f0972d48e
Use name 'StateToString()' instead of ambiguous 'toString()' 4 years ago
Stephen Shelton 63ad7c8b91
Leave IWP session JSON stats 'tx' and 'rx' for compat 4 years ago
Stephen Shelton 2279ebeb40
Add IWP session stats to JSON API 4 years ago
Jeff Becker 9efd796145
initial wack at 0.7.0 dht fixes 4 years ago
Jeff Becker 0f6c5958ba
add bw stats to iwp sessions 5 years ago
Jeff Becker fc55469cfe
change interval such that FEC is less often done 5 years ago
Jeff Becker a93e0a735b
fix typo, reduce delivery timeout 5 years ago
Jeff Becker fcd3750a8b
increase ack window 5 years ago
Stephen Shelton 68a604070b
Merge pull request #945 from notlesh/key_manager_cleanup
Key manager cleanup (post 0.6-rc1)
5 years ago
Stephen Shelton 66a058a2af Make format 5 years ago
Jeff Becker 9be4092a2a
more close changes 5 years ago
Jeff 27b1e36039
Merge pull request #936 from majestrate/dev
last changes before 0.6.0 version bump
5 years ago
Stephen Shelton 49e248bfc1 Fix bad merge 5 years ago
Stephen Shelton 93b8832026
Merge branch 'dev' into private-keys-backup-support 5 years ago
Stephen Shelton 521ef9b5bb Handle link transport key in KeyManager 5 years ago
Jeff Becker 86a4ccd98f
unconditionally bundle first fragment in xmit 5 years ago
Jeff Becker 1f83fdb190
fix previous commit 5 years ago
Jeff Becker 19835ce501
dont use auto 5 years ago
Jeff Becker 1a6a66108d
make it compile 5 years ago
Jeff Becker c88602ee16
break the world to make it faster 5 years ago
Jeff Becker 1a06da9c3d reduce calls in link pump 5 years ago
Jeff Becker ac686a9329
remove valgrind access errors 5 years ago
Jeff Becker b207db626f
please the gods of valgrind 5 years ago
Jeff Becker 56dce90de9
add trace log level for tracking logic thread jobs 5 years ago
Jason Rhinelander d96d33329b
Merge pull request #912 from majestrate/logic-thread-fix-2019-11-13
fix logic thread behavior
5 years ago
Stephen Shelton b5b8cf0745 Reduce log level of IWP session issues as they may be encountered frequently and normally 5 years ago
Stephen Shelton ef2670dfb4 Drop new inbound IWP sessions when the first packet can't be handled 5 years ago
Jeff Becker b34caa3e26
make unit tests pass for iwp 5 years ago
Jeff Becker c9f26c4911
call Router::PumpLL after every batch of packets from a link session 5 years ago
Jeff Becker 1fc36f4832
changes from review 5 years ago
Jeff Becker 8befd6f2db
flush link session encrypt queue immediately after handling plaintext packets 5 years ago
Jeff Becker e2890e925b
make it compile 5 years ago
Jeff Becker 20dd4e4d09
use data not begin 5 years ago
Jeff Becker 2267a7d283
fix bounds check 5 years ago
jeff 4af6dca246 use static_cast 5 years ago
jeff 3c1d5518d8 fix windows port and make it compile 5 years ago
jeff 32ed821763 Merge remote-tracking branch 'upstream/dev' into multithreaded-cryptography 5 years ago
Michael 86a07e2a80
Enable more sanitisers 5 years ago
Jeff Becker 327c545530
finish multithread cryptography first pass 5 years ago
jeff 14c9ef15ed try calling stuff in logic thread from event loop 5 years ago
jeff ac2a2aed1d gut libutp and finish making things compile and pass tests 5 years ago
Jeff Becker d04762ab49
unstaged changed 5 years ago
Jeff 070a014f85
Merge pull request #799 from majestrate/remove-link-layer-locking
disable link layer locking
5 years ago
Jeff Becker 3c0245f8b3
Merge remote-tracking branch 'github/master' into iwp-multi-ack 5 years ago
Jeff Becker 4bf6882c8a
more async cryptography 5 years ago
Jeff Becker 88cde21b9b
multithreaded iwp cryptography 5 years ago
Jeff Becker 0d3c07999a
break it again just to be sure 5 years ago
Jeff Becker a4160006ab
make it compile 5 years ago
Jeff Becker 3b1a0b2835
add multi-ack and change protocol handshake to pin identity key 5 years ago
Jeff Becker 1adae338ce
Merge remote-tracking branch 'origin/master' 5 years ago
Jeff Becker e9f01923d9
dont nack replayed messages, tweak transmission parameters.
this yields more efficient througput. probably.
5 years ago
Michael 4d8fe2a8a8
Move meta programming to subdirectory 5 years ago
Jeff Becker 2ab265be41
disable link layer locking because there was no contention 5 years ago
Jeff Becker c01112e4b7
tracy lock contention testing and other fun things 5 years ago
Jeff Becker deecbbbdef
optimize 5 years ago
Jeff Becker 83432d7567
make format 5 years ago
Jeff Becker 4c569d83b7
make it compile 5 years ago
Jeff Becker d1e590ce9d
fix sign 5 years ago
Jeff Becker 795ac6bab3
get rid of dead code 5 years ago
Jeff Becker 0986b6ab5e
quick little fixes 5 years ago
Jeff Becker 444d832b7c
correct constructors on llarp_buffer_t and check rc on regen 5 years ago
Jeff Becker 16934cdd20
please the CI gods, wololo 5 years ago
Jeff Becker ba2aaa68c6
add short data fragments and rx replay filter 5 years ago
Jeff Becker 3c2c895593
fix log level 5 years ago
Jeff Becker 4c8da9bb6d
use correct constructor for llarp_buffer_t 5 years ago
Jeff Becker 88f685b74a
add forgotten bits 5 years ago
Jeff Becker 0241851b72
add likn layer delivery timeout notification for iwp 5 years ago
Jeff Becker 94f8531776
more fixups 5 years ago
Jeff Becker 6a48a3b402
code review fixes:
* use std::unordered_set
* use default for ctor/dtor
* don't crash on short packet with nack
5 years ago
Jeff Becker 82ea973137
silence clang errors 5 years ago
Jeff Becker 5f8388b1c0
lower log level for renegotiate 5 years ago