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/iwp
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
..
iwp.cpp standardize include format and pragma once 4 years ago
iwp.hpp standardize include format and pragma once 4 years ago
linklayer.cpp Fix link layer delivery race condition (fix random ping delays) 3 years ago
linklayer.hpp Fix link layer delivery race condition (fix random ping delays) 3 years ago
message_buffer.cpp Revert "tweak timeout parameters for link layer." 3 years ago
message_buffer.hpp Revert "tweak timeout parameters for link layer." 3 years ago
session.cpp Fix link layer delivery race condition (fix random ping delays) 3 years ago
session.hpp Fix link layer delivery race condition (fix random ping delays) 3 years ago