Stephen Shelton
b5d6a73ffd
Rip out most of C API
2020-06-29 13:55:59 -06:00
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