Commit Graph

32 Commits (49b9ad7197508acfa422a2a4f45fe774344ffbfb)

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
3 years ago
Jason Rhinelander e47b70a82f
CMake fixes: libuv static build, base_libs, shared lib install dir (#1431)
* Update how we build libuv

- Update submoduled libuv to latest stable (1.40.0)
- Don't look for a system libuv if we're under BUILD_STATIC_DEPS
- Add a libuv interface library rather than using globals
- Make the windows build fall back to the submodule if not explicitly
  given a LIBUV_ROOT

* Replace ${LIBS} global with `base_libs` interface

This simplifies linking and include handling a bit.

* Remove unneeded header

* Add missing csignal header

(This was previously being pulled in incredibly indirectly via some
stuff that eventually includes some other stuff that eventually included
uv.h)

* Use GNUInstallDirs to get lib dir instead of hard-coding lib

Fixes #1429
4 years ago
Jeff Becker e85efcf7ce
move include so it's included on all platforms including windows 4 years ago
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
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
Rick V 9b0ec0935a
bump for next release 4 years ago
Rick V 8e9842f4b2
bindaddr a common field on the machine-independent side 4 years ago
Rick V b4d6f89452
try extracting dns bind addr from INI on windows 4 years ago
Rick V b9c02d999f
why was this there
we do not support MSVC
5 years ago
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.
5 years ago
Jeff Becker 9b99752276
i hate windows 5 years ago
jeff 1621ca676b Merge remote-tracking branch 'upstream/dev' into ed25519-signing 5 years ago
jeff 3c1d5518d8 fix windows port and make it compile 5 years ago
Michael 16cdfbd5f0
clang-tidy modernize pass 5 years ago
Jeff Becker b9bcc2b775
make threadpool consice 5 years ago
Rick V 5092a1fa85
restore llarp_make_ev_loop() as we only use libuv now; separate function is now ded code 5 years ago
Jeff Becker 7d443f83bc
add guard 5 years ago
Jeff Becker 79cdff20a4
fix tpyos and pass event loop by l value 5 years ago
Jeff Becker 35bb7444fe
make tcp work with libuv probably 5 years ago
Jeff Becker 4c7f8e8351
more libuv jizz 5 years ago
Jeff Becker 9deafa4cb8
use libuv 5 years ago
Jeff Becker 64c7ed42fc
make format 5 years ago
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
5 years ago
michael-loki 0195152e05 Allow builds on MSVC (#518)
* Import cxxopts to replace getopts usage

* Add visual studio build things

* Fixup abseil build parts

* Replace __attribute__((unused)) with ABSL_ATTRIBUTE_UNUSED

* Fixup minor windows build issues

* Replace getopts usage

* Temporarily fixup .rc files

* More minor windows fixes

* Get a working build

* Revert .rc files

* Revert changes to nodedb
5 years ago
Jeff Becker e178a70929
use shared_ptr for event loop 5 years ago
Michael 67b5d48095
Replace usage of new/delete with unique_ptr/stack allocation 5 years ago
Michael 7ca3e13e78
Rename to ManagedBuffer 5 years ago
Michael f3b0af9d2f
Create CopyableBuffer type 5 years ago
Michael 2de621b0ad
Disable copy constructing llarp_buffer_t 5 years ago
Michael 081d4dfa32
Reorganise source into more folders 6 years ago