You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lokinet/llarp
Jason Rhinelander 74215fc44c Fix link layer delivery race condition (fix random ping delays)
We trigger a pump immediately, but this is racey because we add to our
plaintext data in a worker thread; if the worker thread runs after the
pump then it ends up leaving plaintext to be handled, but there's no
wakeup until the next one.

This was the cause of seeing a random +1s and bunching added to ping
responses sometimes: it wasn't until the *next* ping goes through the
network that the plaintext queue gets processed, at which point it
flushes the old one and often the new one together.

The fix here gets rid of the map of sessions needing wakeups and instead
adds an atomic flag to all of them to let us figure out which ones
need to be flushed.
3 years ago
..
android
apple use llarp:: prefix for LogError 3 years ago
config set base v6 address to nullopt when explicit empty string is provided 3 years ago
consensus Merge pull request #1791 from majestrate/exclude-failing-from-queue-2021-10-29 3 years ago
constants
crypto Simplifications & C++17 3 years ago
dht Simplifications & C++17 3 years ago
dns refactor logging to use std::source_location 3 years ago
ev Allow a nullptr callback for event loop PumpLL 3 years ago
exit Triggered pumping 3 years ago
handlers Remove another unwanted unconditional PumpLL 3 years ago
hook Simplifications & C++17 3 years ago
iwp Fix link layer delivery race condition (fix random ping delays) 3 years ago
link Fix link layer delivery race condition (fix random ping delays) 3 years ago
linux
messages Simplifications & C++17 3 years ago
net check for intersecting ip ranges correctly, add unit test 3 years ago
path transit hop: drop instead of flushing when full 3 years ago
peerstats
quic use inline source_location implementation for android too 3 years ago
router Fix link layer delivery race condition (fix random ping delays) 3 years ago
routing
rpc RPC call for summary get_status (#1742) 3 years ago
service prevent bizare half open state. (#1754) 3 years ago
simulation
tooling
util Merge pull request #1759 from majestrate/iterate-dir-in-order-2021-10-06 3 years ago
vpn catch ipv6 ioctl throwing when someone runs lokinet with no ipv6 3 years ago
win32
CMakeLists.txt refactor logging to use std::source_location 3 years ago
app.xml
bootstrap.cpp
bootstrap.hpp
context.cpp
endpoint_base.cpp
endpoint_base.hpp
lokinet_shared.cpp
nodedb.cpp
nodedb.hpp
pow.cpp
pow.hpp
profiling.cpp
profiling.hpp
router_contact.cpp
router_contact.hpp make format 3 years ago
router_id.cpp
router_id.hpp
router_version.cpp
router_version.hpp
testnet.c