Jason Rhinelander
c522bc0537
ghc::filesystem devendor to submodule
...
Also removed some unused/old options for conditionally not using
ghc::filesystem and a sodium option that wasn't used anywhere.
2020-02-13 15:47:11 -04:00
Stephen Shelton
68d0cabcc5
Print an error when BDecodeReadFromFile() fails before calling DumpBuffer()
2020-02-13 08:19:10 -07:00
Jeff Becker
7ad47f2dba
* get rid of dht explore for service nodes
...
* add Time_t using std::chrono for future uses
* make decaying hashset constructor with llarp_time_t explicit
* add decaying hashset implicit constructor using Time_t
* add timeouts for gossiper replay
* allow regossip of our RC
2020-02-12 12:10:48 -05:00
Jason Rhinelander
3be7eb789b
Endian defines fix for macOS
...
It seems `__BYTE_ORDER`/`__LITTLE_ENDIAN`/`__BIG_ENDIAN` aren't defined
on macOS, so `if __BYTE_ORDER == __BIG_ENDIAN` was true which made macOS
take the big endian path *twice* (which cancelled out the big endian
conversion).
This makes util/endian.hpp define __LITTLE_ENDIAN__ or __BIG_ENDIAN__
everywhere, and errors if it can't be set.
2020-02-07 03:29:50 -04:00
Jeff Becker
9efd796145
initial wack at 0.7.0 dht fixes
2020-01-27 11:54:51 -05:00
Jeff Becker
7146857df6
use static initialization for started times
2020-01-23 12:14:26 -05:00
Jeff Becker
7aa1b2c27c
monotonic time and run testnet at 20% realtime
2020-01-23 12:14:25 -05:00
Jeff Becker
2f02073cac
unsigned char
2020-01-20 16:16:00 -05:00
Jeff Becker
c69eb2c970
off -> none
2020-01-20 16:12:19 -05:00
Jeff Becker
ef0595602b
reduce number of values for LogLevelFromString
2020-01-20 16:11:34 -05:00
Jeff Becker
40876a6e3f
configurable log level
2020-01-20 16:00:08 -05:00
Jeff Becker
73e07ef2d0
client side replay filter
2020-01-03 06:04:47 -05:00
Jeff Becker
7c92805bb4
fix typo
2019-12-30 17:03:19 -05:00
Jeff Becker
562f3f07ab
add unit test for decaying hash set
2019-12-30 15:52:10 -05:00
Jeff Becker
a9c9fe9c24
limit client side path builds per ip
2019-12-30 15:15:19 -05:00
Jeff Becker
8b8d636ded
make format
2019-12-22 09:16:28 -05:00
Jason Rhinelander
1b710455a7
Disallow AlignedBuffer < 8 bytes; add oddball buffer sizes
2019-12-19 16:17:02 -04:00
Jason Rhinelander
d57d6bfc6d
Use memcpy to extract hash value
...
Using the straight reinterpret_cast runs into type aliasing issues,
which manifest on armhf. C++20 adds `std::bit_cast` to deal with
exactly this, but memcpy is the pre-C++20 way to do it properly.
2019-12-19 15:55:02 -04:00
Jeff Becker
16c7e7dd33
fix unit tests
2019-12-19 10:25:52 -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
Rick V
a08d2ff64e
microsoft libc a shit
2019-12-16 11:32:50 -06:00
Rick V
caa6549cbb
clang-format everything
2019-12-16 11:32:49 -06:00
Rick V
64710ca4d4
Explicitly align to 16 bytes on Win32 targets
2019-12-16 11:28:48 -06:00
Jeff Becker
896dd85a2b
allow multiple calls to FeedData
2019-12-15 12:01:29 -05:00
Jeff Becker
53b159e361
dont fail on 0 sized data fed to json parser
2019-12-15 11:59:26 -05:00
Stephen Shelton
a4aef312ae
make format (or format-verify, at least)
2019-12-12 10:09:57 -07:00
Jason Rhinelander
d4a5dc66ac
Change alignment to std::max_align_t
...
This will typically be stricter alignment (16 byte on amd64) which seems
useful for the intended use case here.
2019-12-12 12:15:13 -04:00
Jason Rhinelander
460d64fc0f
Simplify AlignedBuffer alignment implementation
...
This simplifies the use of std::aligned_storage with just using an
`alignas` on AlignedBuffer itself so that the (only) data member gets
the proper alignment and saves a bunch of reinterpret_casts in favour of
just having the std::array as an ordinary member.
2019-12-12 12:12:45 -04:00
Stephen Shelton
e2e9e63467
Optimize AlignedBuffer:::IsZero()
2019-12-10 11:50:52 -07:00
Jeff Becker
8455d5d1cf
more cleanup
2019-12-10 11:49:32 -07:00
Jeff Becker
b286230d40
limit timer calls
2019-12-10 11:49:32 -07:00
Jeff Becker
35672e6d8c
call timers with queuer if set
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
Jeff Becker
c9d38d421b
clang fixes
2019-12-10 11:49:32 -07:00
Jeff
fa75d7c96f
Merge pull request #957 from majestrate/reduce-cpu-use-in-tun-handler-2019-12-09
...
reduce cpu use in logic thread
2019-12-09 17:35:27 -05:00
Jeff Becker
a7884a82e2
use faster hashing
2019-12-09 17:35:05 -05:00
Jeff Becker
950006c036
reduce log levels at runtime
2019-12-09 08:08:30 -05:00
Jeff
512a350783
Merge pull request #953 from majestrate/try-preventing-router-lockup-2019-12-07
...
try fixing router lockup
2019-12-09 07:38:17 -05:00
Jeff Becker
c010bf05a6
use correct format string
2019-12-07 15:05:07 -05:00
Jeff Becker
f56e543d75
add deadlock checker and revert bencode change from long ago
2019-12-07 14:58:19 -05:00
Jeff Becker
c5f198cfa1
disable absl decorator in release
2019-12-07 14:22:10 -05:00
Jeff Becker
2eabe98d9b
add systemd watchdog if enabled on compile time
2019-12-07 14:21:26 -05:00
Jeff Becker
8ceb20452a
add absl annotations
2019-12-07 07:28:43 -05:00
Jeff Becker
fe6783eef6
squash possible race condition
2019-12-07 07:19:26 -05:00
Jason Rhinelander
8d2c22fc72
Replace cppbackport with ghc-filesystem
...
From https://github.com/gulrak/filesystem which is more up-to-date and
looks better maintained than cppbackport.
2019-12-06 20:41:22 -04:00
Jeff
1396b7b857
Merge branch 'dev' into bootstrap-list-2019-12-06
2019-12-06 15:34:38 -05:00
Jeff Becker
0afb3b320b
add bootstrap list functionality and utility
2019-12-06 12:32:46 -05:00
Stephen Shelton
66a058a2af
Make format
2019-12-06 10:13:09 -07: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