Commit Graph

336 Commits

Author SHA1 Message Date
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