Commit Graph

38 Commits (d011f8fb4a14b1f724fc1f15b532c5f97512babf)

Author SHA1 Message Date
Jason Rhinelander d011f8fb4a
Bump clang-format to 14 2 years ago
Jeff 8960ca08f3
propagate link layer message priority to link layer so it can order retransmissions with that in mind 2 years ago
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
Jason Rhinelander 9113a6b36b Triggered pumping
This redoes how/when we pump so that we should only be calling the
idempotent PumpLL() when we actually have (or may have) something to
pump.
3 years ago
Thomas Winget 7caa87862e standardize include format and pragma once
All #ifndef guards on headers have been removed, I think,
in favor of #pragma once

Headers are now included as `#include "filename"` if the included file
resides in the same directory as the file including it, or any
subdirectory therein.  Otherwise they are included as
`#include <project/top/dir/relative/path/filename>`

The above does not include system/os headers.
3 years ago
Jeff Becker bb9bd25059
get rid of use of llarp::IpAddress from hotpaths 3 years ago
Jeff a0ed303d7b
try to handle router deregistrations on the network better (#1461)
* don't send messages to de-registered relays but allow traffic to clients

* actively close sessions to de-registered relays
4 years ago
Stephen Shelton d897099e1d
Track traffic peerstats 4 years ago
Stephen Shelton 91a2af0eda
Sanity checks around shared_from_this() 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
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 9efd796145
initial wack at 0.7.0 dht fixes 4 years ago
Stephen Shelton ef2670dfb4 Drop new inbound IWP sessions when the first packet can't be handled 5 years ago
jeff 3c1d5518d8 fix windows port and make it compile 5 years ago
Jeff Becker d04762ab49
unstaged changed 5 years ago
Jeff Becker 78d191bd75
prepare for 0.5.0 5 years ago
Jeff Becker 822f529be8
add link layer delivery feedback 5 years ago
Jeff Becker 61d42811be
prevent crash 5 years ago
Michael 4143472a17
Add cmake module to target a library as 'system', and fix a few warnings 5 years ago
Michael c39c931d03
Remove IStateful virtual inheritance 5 years ago
Michael 25f10d5b11
Fix more address sanitiser issues 5 years ago
Michael a7d15467b3
Refactor iwp linklayer 5 years ago
Jeff Becker 4bfe97781c
relax ping to 10s of inactivity 5 years ago
Jeff Becker 1d958d95de
* make rpc compile right
* make link sessions introspectable
* make utp write buffers fully flush each tick
5 years ago
Michael 2de621b0ad
Disable copy constructing llarp_buffer_t 5 years ago
Michael 79157414f3
Split crypto.hpp into 3 different files 5 years ago
Michael 04e0fe3ad7
Move crypto code to a subdirectory 5 years ago
Michael a3463120cc
Move net components into a distinct folder 5 years ago
Michael e5eda0fb8f
Move lokinet unspecific components to a util/ library 5 years ago
Jeff Becker e88c39b9e2
more work 5 years ago
Michael ea19093a20
Remove const byte* conversion operators from llarp::AlignedBuffer 5 years ago
Jeff Becker cca19290de
session renegotiation, RC expiration, more utp unit tests, network isolation. 5 years ago
Jeff Becker e58f2c521e
done for the day 5 years ago
Jeff Becker b39c46fc03
!!! this breaks backwards compat :^) !!!
redo link protocol to use 2 session keys, add unit tests.
5 years ago
Michael 85dde7b6b0
Move remaining include/llarp headers to llarp/ 6 years ago
Michael b92ea0521b
Move router_contact.hpp to llarp/ 6 years ago
Michael c0a76714fa
Move link* to llarp/ 6 years ago