1
1
Fork 0
mirror of https://github.com/oxen-io/lokinet synced 2023-12-14 06:53:00 +01:00
Commit graph

69 commits

Author SHA1 Message Date
Jeff 49b9ad7197
tun code refactor (#1495)
* partial tun code refactor

* take out the trash

* move vpn platform code into llarp/vpn/platform.cpp

* fix hive build

* fix win32

* fix memory leak on win32

* reduce cpu use

* make macos compile

* win32 patches:

* use wepoll for zmq
* use all cores on windows iocp read loop

* fix zmq patch for windows

* clean up cmake for win32

* add uninstall before reinstall option to win32 installer

* more ipv6 stuff

* make it compile

* fix up route poker

* remove an unneeded code block in macos wtf

* always use call to system

* fix route poker behavior on macos

* disable ipv6 on windows for now

* cpu perf improvement:

* colease calls to Router::PumpLL to 1 per event loop wakeup

* set up THEN add addresses

* emulate proactor event loop on win32

* remove excessively verbose error message

* fix issue #1499

* exclude uv_poll from win32 so that it can start up

* update logtag to include directory

* create minidump on windows if there was a crash

* make windows happy

* use dmp suffix on minidump files

* typo fix

* address feedback from jason
* use PROJECT_SOURCE_DIR instead of CMAKE_SOURCE_DIR
* quote $@ in apply-patches in case path has spaces in it

* address feedback from tom

* remove llarp/ev/pipe
* add comments for clairification
* make event loop queue size constant named
2021-01-11 18:13:22 -05:00
Thomas Winget a91bb35dbf
Some Windows fixes (#1415)
* Should fix some windows service issues

* fix return condition inversion

* Add some Trace level logging

also make the logger actually respect the log level you set.

* event loop should not queue things to itself...

at present, logic thread queue continues until it is empty, so
queueing things onto itself is just wasteful.

* call_later(foreach thing) is better than foreach thing (call later)

also if you already queued those things but they have not happened yet,
there is no sense to queue them to happen again.

* do not queue read on write finish, only on read finish

* failure to start DNS server should be proper startup failure.

without the DNS server working lokinet is...kinda pointless, right?

* format

* don't queue stuff to logic thread if in logic thread
the thing that clears the queue...clears it.  So you're just delaying and adding overhead.

* windows unbound thread sleep instead of just busy-waiting

also clang-format decided I can't have a blank line for some reason...

* fix unbound async worker on windows
2020-10-21 09:06:43 -04:00
Jeff Becker f4971a88fd
use lokimq workers instead of llarp:🧵:ThreadPool 2020-07-02 11:07:34 -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 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
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 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
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 Becker c6d77e72f2
fix up tcp connection logic 2020-01-07 13:04:12 -05:00
Thomas Winget f4c9e09d44 remove obsolete timer-related code 2019-12-18 19:05:33 -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
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 8455d5d1cf more cleanup 2019-12-10 11:49:32 -07: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
jeff 3c1d5518d8 fix windows port and make it compile 2019-10-02 09:06:14 -04:00
jeff 14c9ef15ed try calling stuff in logic thread from event loop 2019-09-16 06:21:12 -04:00
Jeff Becker da6a3bf9bb
Merge remote-tracking branch 'origin/master' into iwp-multi-ack 2019-09-11 09:56:51 -04:00
Jeff Becker 61ade40a51
reduce logging and make format 2019-09-09 07:36:21 -04:00
Jeff Becker e3bb59707e
more 2019-09-05 17:28:50 -04:00
Rick V 4a5cbbdc70
auto config has been removed for months now
win32 accidentally left out the error reporting
2019-09-04 20:25:50 -05:00
Michael edd0ec398f
Move thread stuff to subdirectory 2019-09-03 20:52:28 +01:00
Jeff Becker 1fd6b5ae74
Merge remote-tracking branch 'origin/master' into ipv6-tun 2019-07-12 09:53:52 -04:00
Michael 488695047f
Remove redundant else blocks 2019-07-09 22:54:46 +01:00
Jeff Becker b9bcc2b775
make threadpool consice 2019-07-09 09:47:24 -04:00
Jeff Becker 0eb6431eb1
initialize tun with 0 and set defaults in correct places 2019-07-08 11:26:06 -04:00
Jeff Becker c4aaa80e75
use sane defaults and deprecated "auto" as it's horribly bad style 2019-07-03 10:32:51 -04:00
Jeff Becker 5c61df08b5
Merge remote-tracking branch 'origin/master' into ipv6-tun 2019-06-20 10:35:51 -04:00
Michael b89689fec3
Refactor path build code 2019-06-18 22:51:41 +01:00
Rick V c6c31efec9
make format 2019-06-17 23:29:54 -05:00
Jeff Becker 30f6a8ccd2
make format 2019-06-17 09:05:37 -04:00
Jeff Becker 97b4e27704
Merge remote-tracking branch 'origin/master' into ipv6-tun 2019-06-14 09:42:41 -04:00
Rick V 68862cc830
we libuv now 2019-06-13 21:21:44 -05:00
Jeff Becker eb10638497
Merge branch 'master' into ipv6-tun 2019-06-12 09:21:37 -04:00
Jeff Becker 79cdff20a4
fix tpyos and pass event loop by l value 2019-06-12 09:14:38 -04:00
Jeff Becker 2403ab8f86
ipv6 2019-06-11 12:44:05 -04:00
Jeff Becker 35bb7444fe
make tcp work with libuv probably 2019-06-03 10:03:59 -04:00
Jeff Becker 4c7f8e8351
more libuv jizz 2019-06-03 08:02:54 -04:00
Jeff Becker 9deafa4cb8
use libuv 2019-06-02 17:17:05 -04:00
Jeff Becker 64c7ed42fc
make format 2019-05-22 12:20:50 -04:00
Jeff Becker 9c96aecf3f
move llarp::Logic to std::shared_ptr
add sequence numbers to HSD messages

begin work on network isolation code

add more docs
2019-05-22 12:20:03 -04:00
Jeff Becker 73f1d34239
make format and revert stupid alloc changes 2019-05-20 08:19:33 -04:00
Rick V 4815e0d04c
move tun autoconfig from config parser to tun setup
refactor/combine common code

DRY

(cherry picked from commit 2e44d29d4a93aa22d99d62b457071b14516b83ac)
2019-05-17 03:10:00 -05:00
Jeff Becker 6058b6f195
revert breaking change 2019-05-16 10:30:47 -04:00
Jeff Becker 5d388bc9f2
meh 2019-05-15 11:54:26 -04:00
Jeff Becker 9503cc66f0
add disk worker based file flusher logger
make format

remove package.json
2019-04-16 09:20:48 -04:00
Jeff Becker 3da6551e82
make android compile 2019-04-08 11:54:19 -04:00
Jeff Becker e178a70929
use shared_ptr for event loop 2019-04-08 08:01:52 -04:00
Rick V bbba2c0eea
improve windows select loop
add generic svr4 poll(2) event loop
2019-03-26 19:56:34 -05:00