Commit Graph

315 Commits

Author SHA1 Message Date
Thomas Winget
221e9ff5de make format 2020-06-15 18:32:57 -04:00
Thomas Winget
c2a30692cf Implement upstream DNS using libunbound 2020-06-15 18:32:57 -04:00
Rick V
a787db9b35 fix ipv4_hdr 2020-06-12 17:34:53 -05:00
Jeff Becker
a73335579a
silence logging in regression test 2020-06-08 09:07:49 -04:00
Jeff Becker
95e55a2544
consistent spelling and use std::max 2020-06-01 13:31:12 -04:00
Jeff Becker
acecb23eb3
make libuv event loop logic queue size configurable.
remove logic constructor that is no-op.
add constant for default logic queue size
add constant for transit hop queue size
2020-06-01 09:17:44 -04:00
Jeff Becker
c47a210302
remove a std::move that prevents copy elision 2020-05-26 14:04:43 -04:00
Jeff Becker
9298313066
use std::move 2020-05-24 08:21:04 -04:00
Jeff Becker
1230b81517
make format 2020-05-23 16:07:21 -04:00
Jeff Becker
b8d262573a
use std::vector instead of thrashing heap with allocation 2020-05-23 16:07:20 -04:00
Jeff Becker
3eb006f78c
iwp/libuv cleanup: remove llarp_pkt_list and all users of it as it's broke 2020-05-23 16:07:19 -04:00
Jason Rhinelander
72bf215da4 Move IPPacket header (part 1)
Rename net/ip.{cpp,hpp} to net/ip_packet.{cpp,hpp}.

(Doing this in two commits because I want to repurpose ip.hpp/ip.cpp,
and want git to figure out the history properly).
2020-05-20 19:18:27 -03:00
Jeff Becker
f04407f183
use only 1 uv_async_t for event loop wakeups
flush logic calls in there too as this was causing unit tests to hang
2020-05-15 08:36:38 -04:00
Stephen Shelton
0b54087689
Begin implementing SockAddr 2020-05-08 11:23:21 -06:00
Stephen Shelton
aee96e53a3
Refactor Addr -> IpAddress/SockAddr 2020-05-06 14:38:44 -06:00
Jason Rhinelander
5cf2126bb9 make format 2020-05-01 19:25:32 -03:00
Jason Rhinelander
1697bf90fe C++17
Compiles with C++17, replaces ghc::filesystem with std::filesystem,
nonstd::optional with std::optional, and llarp::string_view with
std::string_view.
2020-05-01 17:43:27 -03:00
Rick V
6eaaeab094
reeee 2020-04-20 19:09:35 -05:00
Rick V
337a21d6f6
ew stinki 2020-04-20 19:09:32 -05:00
Rick V
76aa0421ff
use a new read buffer every time 2020-04-20 19:09:32 -05:00
Rick V
1e51bfde2c
fix 2020-04-20 19:09:31 -05:00
Rick V
4e87e8dc08
correctly return true/false when writing 2020-04-20 19:09:28 -05:00
Rick V
c65eecf399
are we leaking data randomly 2020-04-20 19:09:27 -05:00
Rick V
46d4ab2708
this might just crash 2020-04-20 19:09:24 -05:00
Rick V
938f40efe1
probably got mangled in a patch
supposed to tick at the end
2020-04-20 19:05:36 -05:00
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.
2020-04-07 12:38:56 -06:00
Jeff
d3091cf9fc
Merge pull request #1167 from tewinget/tooling
RouterHive initial PR
2020-04-07 13:13:02 -04:00
Jeff Becker
1e434c03f8
cleanup 2020-03-16 10:04:33 -04:00
Jeff Becker
d1f8752b7c
fix memleak in jsonrpc
llarp_tcp_acceptor ticker wasn't being called so connections where not
being cleaned up
2020-03-16 09:25:46 -04:00
Thomas Winget
84a1d7dbcc clang format....... 2020-03-06 20:20:11 -05:00
Rick V
9b0ec0935a
bump for next release 2020-03-05 12:47:47 -06:00
Rick V
8e9842f4b2
bindaddr a common field on the machine-independent side 2020-03-05 12:47:46 -06:00
Rick V
db0920d921
use backport fork for release installer only
move all invariant assets to common repo

remove ded code, libuv patches can be swapped in at build time for debug/release builds
2020-03-05 12:47:46 -06:00
Rick V
b4d6f89452
try extracting dns bind addr from INI on windows 2020-03-05 12:47:45 -06:00
Thomas Winget
a58a8c9a61 hive.py now defaults to 1000 relays because f your box.
also check for error on uv_async_init...

may want to `ulimit -Sn $(ulimit -Hn)`...
2020-03-03 19:57:09 -05:00
Jeff Becker
877443d95c more introspection code 2020-03-03 19:57:09 -05:00
Jeff Becker
d2d109e92c
llarp_time_t is now using std::chrono 2020-02-24 15:25:03 -05:00
Jeff Becker
7aa1b2c27c
monotonic time and run testnet at 20% realtime 2020-01-23 12:14:25 -05:00
Jeff Becker
c6d77e72f2
fix up tcp connection logic 2020-01-07 13:04:12 -05:00
Jeff Becker
989146f63a
handle write failure 2020-01-07 13:03:58 -05:00
Jeff Becker
c38c055488
return result 2020-01-07 13:03:53 -05:00
Jeff Becker
42f721d691
don't queue on full write queue 2020-01-07 13:03:47 -05:00
Jeff Becker
6d42b5f997
reduce logic calls 2020-01-07 13:03:41 -05:00
Jeff Becker
4126d307b3
dont close timers on closeall 2019-12-27 05:54:57 -05:00
Jeff Becker
8b8d636ded
make format 2019-12-22 09:16:28 -05:00
Rick V
b9c02d999f
why was this there
we do not support MSVC
2019-12-22 07:49:36 -06:00
Thomas Winget
f4c9e09d44 remove obsolete timer-related code 2019-12-18 19:05:33 -05:00
Thomas Winget
55b44cfc13 fix derp nested function call and derp merge error 2019-12-18 13:35:01 -05:00
Thomas Winget
71bb0dd520 implement timers using libuv
So far only a bit of the code using timers has been modified to use
the new libuv-based timers.  Also only the non-Windows case has been
implemented.  Seems to be working though, so it's a good time to commit.
2019-12-18 13:11:13 -05:00
Rick V
caa6549cbb
clang-format everything 2019-12-16 11:32:49 -06:00
Rick V
9fa9209114
don't be aggressive
remove libcurl packaging rules. We still build it, but ship only the curl.exe
2019-12-16 11:28:47 -06:00
Rick V
d1b9b89812
add note
add libuv build

add its dependent libraries to the final link line
2019-12-16 11:28:46 -06:00
Jeff Becker
f259cca0ba
remove mutexes 2019-12-11 16:49:00 -05:00
Jeff Becker
85e911fed0
fug 2019-12-11 16:36:13 -05:00
Jeff Becker
5729d0bff5
more 2019-12-11 16:31:49 -05:00
Jeff Becker
c4f08e5145
finish remaining changes 2019-12-11 16:18:47 -05:00
Jeff Becker
abf9544ddc
make libuv on win32 work 2019-12-11 16:05:40 -05:00
Jeff Becker
95eee4081a trypushback 2019-12-10 11:49:32 -07:00
Jeff Becker
cdfdfa1068 use thread queue 2019-12-10 11:49:32 -07:00
Jeff Becker
8455d5d1cf more cleanup 2019-12-10 11:49:32 -07:00
Jeff Becker
cec36b62b5 make logic and net thread one in the same 2019-12-10 11:49:32 -07:00
Stephen Shelton
66a058a2af Make format 2019-12-06 10:13:09 -07:00
Jeff Becker
847ab3a47e
make it compile 2019-12-03 16:09:22 -05:00
Jeff
27b1e36039
Merge pull request #936 from majestrate/dev
last changes before 0.6.0 version bump
2019-12-03 15:58:22 -05:00
Jeff
76fc50cfb7
Merge pull request #914 from despair86/dev
win32 fixes
2019-12-03 13:08:55 -05:00
Jeff Becker
1f83fdb190
fix previous commit 2019-12-03 12:54:23 -05:00
Rick V
da8ee47370
tick more often 2019-12-03 11:18:07 -06:00
Jeff Becker
3c85691f81 limit calls to pumpll such that it gets called fast enough but not too much under load 2019-11-29 19:11:14 -04:00
Jason Rhinelander
5d8f547d33 Set tun to non-blocking
If we can't write to it we want failure, not blocking.
2019-11-29 19:11:14 -04:00
Thomas Winget
6d506302dc Show number of logic thread jobs in debug builds 2019-11-29 19:11:14 -04:00
Thomas Winget
6acf7bff7e Track and log UV event loop ticks in debug builds 2019-11-29 19:11:14 -04:00
Jeff
ee40389f05
Merge pull request #916 from majestrate/add-contention-killer-2019-11-14
assorted crap
2019-11-22 16:31:15 -05:00
Jeff Becker
6f95fbfece
work in progress 2019-11-22 16:23:20 -05:00
Jeff Becker
56dce90de9
add trace log level for tracking logic thread jobs 2019-11-22 16:23:19 -05:00
Jeff Becker
d7f09a365d
contention killer 2019-11-22 16:23:18 -05:00
Jason Rhinelander
d3082fffc9 Lower the ev tick interval to 10ms
When there's nothing waiting we wait this long unconditionally, but that
can add a lot of latency across a path.

There are likely better ways to handle this via libuv's run handlers,
but this addresses the latency until we figure that out.
2019-11-22 17:05:51 -04:00
Jeff Becker
1a864832c8
make format 2019-11-14 10:07:40 -05:00
Jeff Becker
b31d7b75fc
Merge remote-tracking branch 'origin/dev' into logic-thread-fix-2019-11-13 2019-11-14 10:07:19 -05:00
Jeff Becker
f16c9f9b5d
iot seems that logic thread didn't work the way i remember it should
make logic work the way it should
2019-11-14 10:06:53 -05:00
Thomas Winget
23a9773e1e
remove our paths from outbound queues 2019-11-07 13:23:14 -05:00
Jeff
c05d7b69fc
Merge pull request #904 from majestrate/try-fixing-path-shit-again-2019-11-05
make path builds work
2019-11-05 12:21:51 -05:00
Jeff Becker
7ee026fa50
make path builds work again 2019-11-05 11:58:53 -05:00
Jeff Becker
9b99752276
i hate windows 2019-11-05 08:19:27 -05:00
Jeff Becker
e25356c035
use <= not == 2019-11-03 14:53:41 -05:00
Jeff Becker
89e5b6b4cc
try fixing leak 2019-11-03 14:38:34 -05:00
Rick V
e9b4053bac
oops fix up some missing code 2019-10-30 18:02:33 -05:00
Rick V
e901580223
ok set write handler in event loop 2019-10-30 18:02:33 -05:00
Rick V
cfd696b4d9
just write the data straight into the socket 2019-10-30 18:02:32 -05:00
Rick V
d7900a8459
c-f everything 2019-10-30 18:02:32 -05:00
Rick V
df6fe4b6ac
emit libuv-like stub externally 2019-10-30 18:02:32 -05:00
Rick V
46169da7bf
ok add the write handler here too 2019-10-30 18:02:31 -05:00
Rick V
33378b2c0c
ok implement libuv stubs for tcp connectors 2019-10-30 18:02:31 -05:00
Jeff Becker
75d746c518
update _sz 2019-10-28 14:34:39 -04:00
Jeff Becker
2f2834f331
make non copyable 2019-10-28 14:21:08 -04:00
Jeff Becker
b737fdbe03
fix crash 2019-10-28 14:08:59 -04:00
Jeff
3a6c16aa36
Merge pull request #871 from majestrate/ed25519-signing
Ed25519 signing
2019-10-28 10:42:40 -04:00
Jeff Becker
22dcb0504b
make format 2019-10-28 10:21:57 -04:00
Jeff Becker
2134355a3a
fix event loop tcp connections so they are thread safe 2019-10-28 10:15:36 -04:00
jeff
1621ca676b Merge remote-tracking branch 'upstream/dev' into ed25519-signing 2019-10-22 11:08:52 -04:00
jeff
869ab0b652 Merge remote-tracking branch 'upstream/dev' into vpn-api-2019-10-03 2019-10-21 08:01:29 -04:00