Stephen Shelton
c2c010dbad
Make format
5 years ago
Stephen Shelton
c1b5e453c7
Big I, little i, what begins with I?
5 years ago
Stephen Shelton
1db6c6ae3b
Make format
5 years ago
Stephen Shelton
c2f719c996
Build endpoint paths at even[ish] intervals
5 years ago
Jeff Becker
d2d109e92c
llarp_time_t is now using std::chrono
5 years ago
Jason Rhinelander
089056ca5b
Remove all ABSL_ATTRIBUTE_UNUSED uses
5 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
5 years ago
Jeff Becker
748be8eec8
handle multiple responses per hidden service lookup
5 years ago
Stephen Shelton
0429bafbb3
Merge pull request #1111 from notlesh/redundant-introset-propagation-2020-02-19
...
Redundant introset propagation
5 years ago
Jeff
6ac5f19b3a
Merge pull request #1110 from jagerman/no-abseil-optional
...
De-abseil, part 1: remove absl::optional
5 years ago
Stephen Shelton
4c499fb076
Make format
5 years ago
Stephen Shelton
dff9aeb250
Propagate Introset publishing redundantly
5 years ago
Jeff Becker
dc7828941f
add log statement
5 years ago
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").
5 years ago
Jeff
20bc168d1c
Merge pull request #1093 from majestrate/toggle-publishing-introsets-2020-02-11
...
make publishing introsets optional
5 years ago
Jeff Becker
e907d2ae19
handover fixes
5 years ago
Jeff Becker
02228ded08
spread out path builds
5 years ago
Jason Rhinelander
c3637c81fd
Remove another unused randomize parameter
5 years ago
Jason Rhinelander
24469daefb
Remove unused parameter
...
We always randomize now.
5 years ago
Stephen Shelton
906803e387
Refactor DHT introset lookups to use redundant lookup strategy
5 years ago
Jeff Becker
4d4b33607f
dont use optional
5 years ago
Jeff Becker
23bcfa4abb
revert change
5 years ago
Jeff Becker
df8c56343d
refactor GetManyPathsWithUniqueEndpoints to go into service/endpoint_util.hpp
5 years ago
Jeff Becker
fc5e6b4d77
log location
5 years ago
Jeff Becker
3cc2adae31
paralell publish and lookups
5 years ago
Jeff Becker
e30c720446
redundant publish for service endpoint
5 years ago
Jeff Becker
2b6f27d60d
remove connect back logic for dead inbound sessions
5 years ago
Jeff Becker
70eb353c42
make publishing introsets optional using reachable=false to disable
5 years ago
Jeff Becker
99eb7726ff
initial dht key blinding
5 years ago
Jeff Becker
2c0dc12f39
refactor single char variables in DHT (mostly)
5 years ago
Jeff Becker
a17b5f25b5
check for zero'd rc
5 years ago
Jeff Becker
2d82e931da
try doing lookup from close router, randomize when above lookup threshold
5 years ago
Jeff Becker
8a5365d9a6
diversify endpoints
5 years ago
Jeff Becker
5ae428a114
Revert "remove call to link manager"
...
This reverts commit 3dd36fa11a
.
5 years ago
Jeff Becker
a5121c346c
remove call to link manager
5 years ago
Jeff Becker
d1a29884df
client side perf improvement
5 years ago
Jeff Becker
79c3c748e4
limit number of snode sessions client side
5 years ago
Stephen Shelton
2c6226f54a
Backup SNApp keys when migrating to new ed25519 crypto
5 years ago
Jeff Becker
0828307906
fix address mapping bug
5 years ago
Jeff Becker
8849173112
try async decrypt then verify
5 years ago
Jeff Becker
ba0fd223d9
reduce number of jobs we put onto the logic thread
5 years ago
Jeff Becker
56dce90de9
add trace log level for tracking logic thread jobs
5 years ago
Jeff Becker
2c5561fc3c
make format
5 years ago
Jeff Becker
7ee026fa50
make path builds work again
5 years ago
jeff
32ed821763
Merge remote-tracking branch 'upstream/dev' into multithreaded-cryptography
5 years ago
jeff
7c691cf334
handover should be fixed now
5 years ago
jeff
6c2ebbb925
try fixing handover and add snapp traffic to multithreaded crypto workers
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 Becker
1adae338ce
Merge remote-tracking branch 'origin/master'
5 years ago
Michael
edd0ec398f
Move thread stuff to subdirectory
5 years ago
Michael
4d8fe2a8a8
Move meta programming to subdirectory
5 years ago
Jeff Becker
c01112e4b7
tracy lock contention testing and other fun things
5 years ago
Jeff Becker
eabbb83149
use estimated build time instead of expiration time for delta when determining when to space out builds
5 years ago
Jeff Becker
e0424a91a7
bump path build handover window, check cooldown on build.
5 years ago
Jeff Becker
3c3338e801
Merge remote-tracking branch 'origin/master' into memlink
5 years ago
Michael
094b697b01
Replace StatusObject with underlying JSON type
5 years ago
Michael
16cdfbd5f0
clang-tidy modernize pass
5 years ago
Jeff Becker
c1f33bb1ac
initial mempipe implementation
5 years ago
Michael
f9e9227e19
Fix gcc trunk warnings
5 years ago
Jeff Becker
db2206664a
fix crashes in testnet
5 years ago
Jeff Becker
f48754c45d
make hop count and length configurable
5 years ago
Michael
e52492911d
Refactor endpoint state management to a new class
5 years ago
Jeff Becker
1fd6b5ae74
Merge remote-tracking branch 'origin/master' into ipv6-tun
5 years ago
Michael
488695047f
Remove redundant else blocks
5 years ago
Jeff Becker
b9bcc2b775
make threadpool consice
5 years ago
Jeff Becker
fd911d0c52
make format
5 years ago
Jeff Becker
6467d21ba0
* fix testnet codepath
...
* add packet info for osx
5 years ago
Jeff Becker
81cab62bb9
* fix testnet codepath
...
* add packet info for osx
5 years ago
Jeff Becker
5874c38b38
swap path on inbound convo if expires soon
5 years ago
Jeff Becker
f211ff182a
pick ready paths for reply
5 years ago
Jeff Becker
d6ec528a72
start work on seperating ips out of endpoint
5 years ago
Jeff Becker
64e9622270
start seperating tun and endpoint
5 years ago
Jeff Becker
0146a967d0
fix convotag inbound state setting
5 years ago
Jeff Becker
6bca652182
choose first timestamp
5 years ago
Jeff Becker
0b90acff75
handle reply intro
5 years ago
Jeff Becker
b0612e2ee1
Merge remote-tracking branch 'origin/master' into ipv6-tun
5 years ago
Michael
b6b400baef
Tidy up pathbuilder code
5 years ago
Jeff Becker
5c61df08b5
Merge remote-tracking branch 'origin/master' into ipv6-tun
5 years ago
Michael
08609f9e5a
Rename message files
5 years ago
Michael
8a058fcb34
Move other messages
5 years ago
Michael
d6751e3eeb
Move subset of messages to right directory
5 years ago
Jeff Becker
cd05fa6150
Merge remote-tracking branch 'origin/master' into ipv6-tun
5 years ago
Rick V
c6c31efec9
make format
5 years ago
Jeff Becker
30f6a8ccd2
make format
5 years ago
Jeff Becker
9c24fc15a8
try not spamming network with builds
5 years ago
Jeff Becker
5853e5e3f4
pass in path
5 years ago
Jeff Becker
a323003824
differentiate between inbound and outbound convos
5 years ago
Jeff Becker
2403ab8f86
ipv6
5 years ago
Jeff Becker
9ec41b8831
update RC expiration logic, lookup more often and remove stale entries
5 years ago
Jeff Becker
73c1538518
fix
5 years ago
Jeff Becker
f7ccbf0c78
eh
5 years ago
Jeff Becker
f8e2edae28
fix
5 years ago
Jeff Becker
223f2702d3
Merge branch 'fix-big-ooooofff'
5 years ago
Jeff Becker
a33dbce680
try switching logic
5 years ago
Jeff Becker
f8026b8a2d
use latest tag not oldest tag in inbound convos
5 years ago
Jeff Becker
39b1f104a8
revert
5 years ago
Jeff Becker
471a4bf6dd
use reply intro for inbound sessions
5 years ago
Michael
75430a234c
Convert to use memFn
5 years ago
Michael
491fee206b
Port code to use CryptoManager over passing Crypto pointers
5 years ago