Jason Rhinelander
1b710455a7
Disallow AlignedBuffer < 8 bytes; add oddball buffer sizes
5 years ago
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.
5 years ago
Jeff Becker
16c7e7dd33
fix unit tests
5 years ago
Thomas Winget
f4c9e09d44
remove obsolete timer-related code
5 years ago
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.
5 years ago
Rick V
a08d2ff64e
microsoft libc a shit
5 years ago
Rick V
caa6549cbb
clang-format everything
5 years ago
Rick V
64710ca4d4
Explicitly align to 16 bytes on Win32 targets
5 years ago
Jeff Becker
896dd85a2b
allow multiple calls to FeedData
5 years ago
Jeff Becker
53b159e361
dont fail on 0 sized data fed to json parser
5 years ago
Stephen Shelton
a4aef312ae
make format (or format-verify, at least)
5 years ago
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.
5 years ago
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.
5 years ago
Stephen Shelton
e2e9e63467
Optimize AlignedBuffer:::IsZero()
5 years ago
Jeff Becker
8455d5d1cf
more cleanup
5 years ago
Jeff Becker
b286230d40
limit timer calls
5 years ago
Jeff Becker
35672e6d8c
call timers with queuer if set
5 years ago
Jeff Becker
cec36b62b5
make logic and net thread one in the same
5 years ago
Jeff Becker
c9d38d421b
clang fixes
5 years ago
Jeff
fa75d7c96f
Merge pull request #957 from majestrate/reduce-cpu-use-in-tun-handler-2019-12-09
...
reduce cpu use in logic thread
5 years ago
Jeff Becker
a7884a82e2
use faster hashing
5 years ago
Jeff Becker
950006c036
reduce log levels at runtime
5 years ago
Jeff
512a350783
Merge pull request #953 from majestrate/try-preventing-router-lockup-2019-12-07
...
try fixing router lockup
5 years ago
Jeff Becker
c010bf05a6
use correct format string
5 years ago
Jeff Becker
f56e543d75
add deadlock checker and revert bencode change from long ago
5 years ago
Jeff Becker
c5f198cfa1
disable absl decorator in release
5 years ago
Jeff Becker
2eabe98d9b
add systemd watchdog if enabled on compile time
5 years ago
Jeff Becker
8ceb20452a
add absl annotations
5 years ago
Jeff Becker
fe6783eef6
squash possible race condition
5 years ago
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.
5 years ago
Jeff
1396b7b857
Merge branch 'dev' into bootstrap-list-2019-12-06
5 years ago
Jeff Becker
0afb3b320b
add bootstrap list functionality and utility
5 years ago
Stephen Shelton
66a058a2af
Make format
5 years ago
Jeff
27b1e36039
Merge pull request #936 from majestrate/dev
...
last changes before 0.6.0 version bump
5 years ago
Stephen Shelton
93b8832026
Merge branch 'dev' into private-keys-backup-support
5 years ago
Jeff
76fc50cfb7
Merge pull request #914 from despair86/dev
...
win32 fixes
5 years ago
Jeff Becker
7d5fd132c8
make format
5 years ago
Rick V
44e8d07d47
fix error msg
5 years ago
Rick V
cf3469e11a
crash on wine, we support linux, ucb_unix, svr4
...
natively ffs. i tested this patch on wine 4.4 on fuckin
Solaris 11 snv_151
5 years ago
Jeff Becker
3c85691f81
limit calls to pumpll such that it gets called fast enough but not too much under load
5 years ago
Jason Rhinelander
740460318a
Die if job queue full
...
If this happens it's a pretty serious error; if someone is hitting it
occassionally it's better to know and update their queue size (and if it
is a runaway situation lokinet doesn't come back anyway).
5 years ago
Jeff Becker
fba1e47d1c
call jobs in logic
5 years ago
Thomas Winget
6d506302dc
Show number of logic thread jobs in debug builds
5 years ago
Jeff Becker
a3a62c34f3
use timer guard for all jobs in debug mode
5 years ago
Jeff Becker
af663d8b10
prune members in timer context
5 years ago
Jeff Becker
11d4760c3d
add metrics tracking for logic jobs in debug mode
5 years ago
Jeff Becker
dd48b149ca
make job queue size configurable
5 years ago
Jeff Becker
853108ce6e
make logic job queue 8 times bigger
5 years ago
Jeff Becker
d44d034775
make contention checker templated
5 years ago
Jeff Becker
1fa0a0aab2
make it compile
5 years ago
Jeff Becker
fdbaaa8188
try fixing file log segfault
5 years ago
Jeff Becker
1188763ece
typo fix in release
5 years ago
Jeff Becker
56dce90de9
add trace log level for tracking logic thread jobs
5 years ago
Jeff Becker
eb6d042e73
make sure all calls of logic thread jobs are not having contention
5 years ago
Jeff Becker
d7f09a365d
contention killer
5 years ago
Stephen Shelton
db56e17c23
Rename bencode function for clarity
5 years ago
Stephen Shelton
1666498405
Replace bencode_write_version_entry with a more general-purpose function for writing bencoded dictionary entries
5 years ago
Jason Rhinelander
e0340e86b2
clang-format fixes
5 years ago
Jason Rhinelander
d96d33329b
Merge pull request #912 from majestrate/logic-thread-fix-2019-11-13
...
fix logic thread behavior
5 years ago
Jason Rhinelander
6524563d33
Merge pull request #897 from majestrate/bencode-seek-for-version-2019-11-03
...
seek for version and set it before deserializing
5 years ago
Stephen Shelton
9eed243346
Merge pull request #860 from notlesh/null_mutex_clarity
...
Null mutex clarity (via comments / log statement)
5 years ago
Stephen Shelton
46fe64c2e6
make format (and git commit --amend to re-trigger CI)
5 years ago
Jeff Becker
168d25f244
add warning when trying to queue onto full logic thread
5 years ago
Jeff Becker
f16c9f9b5d
iot seems that logic thread didn't work the way i remember it should
...
make logic work the way it should
5 years ago
Jeff Becker
3c8e148372
prevent double free crap with shared_ptr
5 years ago
Jeff Becker
b589ea96ff
remove printf
5 years ago
Jeff Becker
7ee026fa50
make path builds work again
5 years ago
Jeff Becker
bdb0b847f8
seek for version and set it before deserializing
5 years ago
Stephen Shelton
a3c48e22f3
Even more clarity to NullMutex comments
5 years ago
Stephen Shelton
36ef0954ec
Add comments to NullMutex implementation to express intent
5 years ago
jeff
7d949ebf5d
always use absl for string_view
5 years ago
jeff
605da68e15
use absl optional
5 years ago
jeff
3c1d5518d8
fix windows port and make it compile
5 years ago
jeff
da9437d0cf
don't need that
5 years ago
jeff
32ed821763
Merge remote-tracking branch 'upstream/dev' into multithreaded-cryptography
5 years ago
Michael
5f0bb6fbd1
Try to fix windows build
5 years ago
Michael
ae3fc3a395
Add initial macOS app
5 years ago
Jeff Becker
327c545530
finish multithread cryptography first pass
5 years ago
jeff
14c9ef15ed
try calling stuff in logic thread from event loop
5 years ago
jeff
ac2a2aed1d
gut libutp and finish making things compile and pass tests
5 years ago
Jeff Becker
e3bb59707e
more
5 years ago
Michael
19473a291a
Abort when a null mutex is locked from a different thread (in debug mode only)
5 years ago
Jeff Becker
ab64c0d013
Merge remote-tracking branch 'micheal/abort_mutex'
5 years ago
Jeff Becker
1adae338ce
Merge remote-tracking branch 'origin/master'
5 years ago
Michael
23d76e3600
Abort when a null mutex is locked from a different thread (in debug mode only)
5 years ago
Michael
edd0ec398f
Move thread stuff to subdirectory
5 years ago
Michael
0950571313
Move metrics to subdirectory
5 years ago
Michael
4d8fe2a8a8
Move meta programming to subdirectory
5 years ago
Michael
1aec0dfa2b
Move logging to subdirectory
5 years ago
Jeff Becker
c01112e4b7
tracy lock contention testing and other fun things
5 years ago
Rick V
55612bc032
ok use clang-format v8
5 years ago
Rick V
2000826a35
override print
5 years ago
Rick V
50d4b4b40c
fix log colours on old win32 platforms
5 years ago
Michael
094b697b01
Replace StatusObject with underlying JSON type
5 years ago
Michael
16cdfbd5f0
clang-tidy modernize pass
5 years ago
Michael
d1990b5e93
Fix suspicious thread-unsafety
5 years ago
Jeff
10d7e7cb77
Merge branch 'master' into master
5 years ago
Michael
f9e9227e19
Fix gcc trunk warnings
5 years ago
Rick V
8cf5f2c9a5
fix thread naming on windows
5 years ago
Rick V
f6c97091fd
clang-format
5 years ago
Rick V
609a9a1c31
fix netbsd
5 years ago
Rick V
a0a14b97a0
really fix #689 this time
5 years ago
Rick V
3782479276
fix sun
5 years ago
Michael
a062186f2d
or not
5 years ago
Michael
ee2dd0fb68
Use __cpp_lib_filesystem
5 years ago
Michael
3c2f7792c2
Fixup
5 years ago
Michael
614b669fd5
Abandon debian
5 years ago
Michael
df498c7bf8
try to make some windows
5 years ago
Jeff Becker
b0406e1a76
on logic queue overflow put job on timer instead
5 years ago
Thomas Winget
38fd0552d3
Adds Link-Relay Status Messages
...
Success case:
- the path endpoint creates and sends a LR_StatusMessage upon
successful path creation
Failure case:
- an intermediate hop creates and sends a LR_StatusMessage upon
failure to forward the path to the next hop for any reason
Both cases:
- transit hops receive LR_StatusMessages and add a frame
to them reflecting their "status" with respect to that path
- the path creator receives LR_StatusMessages and decrypts/parses
the LR_StatusRecord frames from the path hops. If all is good,
the Path does as it would when receiving a PathConfirmMessage.
If not, the Path marks the new path as failed.
LR_StatusMessage is now used/sent in place of PathConfirmMessage
5 years ago
Jeff
183ec25717
Merge pull request #729 from majestrate/fix-android-2019-07-24
...
make android compile again
5 years ago
Thomas Winget
baf8019fe5
Refactor Router code into more classes
...
This commit refactors functionality from the Router class into separate,
dedicated classes.
There are a few behavior changes that came as a result of discussion on
what the correct behavior should be.
In addition, many things Router was previously doing can now be provided
callback functions to alert the calling point when the asynchronous
action completes, successfully or otherwise.
5 years ago
Jeff Becker
43cb62af16
fix android compile, have makefile pull in libuv for cmake on android
5 years ago
Jeff Becker
909e0399d6
make android compile
5 years ago
Michael
53bccc4f23
try to ensure on windows, but don't fail
5 years ago
Michael
9b40c0eb67
Fixup some tests
5 years ago
Michael
4806e52f62
Try to silence some warnings to reduce noise
5 years ago
Michael
5c064d7ddc
Silence spammy threadpool warning
5 years ago
Michael
302c0ff18c
fixup printer.cpp
5 years ago
Michael
533d12e52e
more fs.cpp
5 years ago
Michael
3b17e65b0b
Fix more headers for fs.cpp
5 years ago
Michael
4b3920006e
fix str.cpp
5 years ago
Michael
0326f2ea56
fix fs.cpp
5 years ago
Michael
ac8624698d
Fix some string_view problems
5 years ago
Michael
36c89363b3
try to fix pid_t issue
5 years ago
Michael
0cbd7b3116
Fixup fs
5 years ago
Michael
5cef2865bd
Fix Ubuntu builds
5 years ago
Jeff Becker
dc87b6dc6b
use correct uint128 functions when doing endian flipping
5 years ago
Jeff Becker
1fd6b5ae74
Merge remote-tracking branch 'origin/master' into ipv6-tun
5 years ago
Jeff
1a145ea515
Merge pull request #697 from majestrate/fix-freebsd-pthread
...
typo fix
5 years ago
Jeff Becker
8c67f14838
typo fix lel
5 years ago
Jeff
a768a9ad59
Merge pull request #695 from majestrate/fix-freebsd-pthread
...
fix freebsd build for real
5 years ago
Jeff Becker
ebab9b8905
fix freebsd build for real
5 years ago
Jeff
8e6c830641
Merge pull request #691 from majestrate/fix-freebsd-pthread
...
fix freebsd build
5 years ago
Jeff Becker
b207990d01
use elseif
5 years ago
Jeff Becker
4206132ea1
use correct function from free bsd pthread
5 years ago
Jeff Becker
e0d8e34369
fix freebsd build
5 years ago
Michael
488695047f
Remove redundant else blocks
5 years ago
Jeff Becker
8ac9ef6f18
Merge remote-tracking branch 'origin/master' into ipv6-tun
5 years ago
Jeff Becker
b9bcc2b775
make threadpool consice
5 years ago
Michael
b01e5accbb
Add function to set threadname, and use from threadpool impl
5 years ago
Jeff Becker
58005c5f81
Merge remote-tracking branch 'origin/master' into ipv6-tun
5 years ago
Michael
a2326efa37
Revert "Merge pull request #679 from tewinget/revert-config-refactor"
...
This reverts commit 2996a7f29c
, reversing
changes made to 10df3bd4b3
.
5 years ago
Jeff Becker
ec1910b8ca
remove threadpool.hpp
...
make link layer not use null lock and null mutex
5 years ago
Jeff Becker
fc8f58822c
remove threadpool.hpp
...
make link layer not use null lock and null mutex
5 years ago
Jeff Becker
04c9c61dfb
Merge remote-tracking branch 'origin/master' into ipv6-tun
5 years ago
Thomas Winget
d044d60101
Reverts #678 #677 and #669 with hashes:
...
10df3bd
766ece8
979f095
See those commits for further details
5 years ago
Michael
8c2d67f8f1
Fix tests
5 years ago
Michael
b51f7d8015
Convert to load config in config loader
5 years ago
Michael
bd78471dae
Move ini parser as well
5 years ago
Michael
80d1e4aef9
Add in-source version of std::filesystem::permissions
5 years ago
Jeff Becker
d6ec528a72
start work on seperating ips out of endpoint
5 years ago
Jeff Becker
64e9622270
start seperating tun and endpoint
5 years ago
Jeff Becker
4e355327d8
Merge remote-tracking branch 'origin/master' into ipv6-tun
5 years ago
Jeff Becker
c7e9118bb6
fix fs stuff
5 years ago
Jeff Becker
6c1a04e804
reset errno and make unit tests pass
5 years ago
Jeff Becker
b178aa1a36
make it compile and make it secure files
5 years ago
Jeff Becker
ba6f9ed2d7
continue using llarp::openfilestream
5 years ago
Jeff Becker
bf3212820b
finish up issue 17
5 years ago
Jeff Becker
e265661adb
try fixing issue number 17 (not done)
5 years ago
Jeff Becker
54a098356d
continue using llarp::openfilestream
5 years ago
Jeff Becker
38d5a4855a
finish up issue 17
5 years ago
Jeff Becker
aad71c2022
try fixing issue number 17 (not done)
5 years ago
Jeff Becker
cd05fa6150
Merge remote-tracking branch 'origin/master' into ipv6-tun
5 years ago
Rick V
0b1e3ce959
fix windows native console
5 years ago
Rick V
c6c31efec9
make format
5 years ago
Rick V
97fad8194c
fix legacy windows console logger
5 years ago
Jeff Becker
227f561ffc
Merge remote-tracking branch 'origin/master' into ipv6-tun
5 years ago
Michael
95646d2d87
Publish metric tags
5 years ago
Michael
7d4126407c
Introduce tags for metrics
5 years ago
Michael
bb0c05a2ca
Introduce tag types
5 years ago
Jeff Becker
6714b06470
json logging option
5 years ago
Jeff Becker
eb10638497
Merge branch 'master' into ipv6-tun
5 years ago
Jeff Becker
3174e581b7
make format
5 years ago
Jeff Becker
584cc61f8f
Merge remote-tracking branch 'origin/master'
5 years ago
Michael
d244674339
Unfuck integer metrics
5 years ago
Michael
0a5ac10880
Unfuck metrics
5 years ago
Michael
a1ef2ca342
Tidy up metric code
5 years ago
Jeff Becker
2403ab8f86
ipv6
5 years ago
Jeff Becker
d95d03593a
put deltas in timestamps
5 years ago
Michael
3822fe2341
Create util::MemFn and memFn to make binding callbacks easier
5 years ago
Michael
8323725509
Initial No-Op Crypto implementation
5 years ago
Michael
3f53965b71
Remove all use of IBEncodeMessage
5 years ago
Jeff Becker
c355d37beb
use limited size queue for logic and singled threaded threadpool
5 years ago
Jeff
28623766c1
Merge pull request #617 from majestrate/master
...
changes after consensous
5 years ago
Michael
7ca0927d8f
Replace dict_reader/list_reader with version which doesn't involve indirection
5 years ago
Jeff Becker
b86e834e1b
Merge remote-tracking branch 'origin/master'
5 years ago
Jeff Becker
73f1d34239
make format and revert stupid alloc changes
5 years ago
Michael
dd8a93a400
Apply rule of zero to code base
5 years ago
Jeff
65766a501f
Merge pull request #610 from michael-loki/more_thread_pool
...
Convert more things to use thread::ThreadPool
5 years ago
Michael
636bb2a17d
Convert router diskworker to use a modern ThreadPool
5 years ago
Michael
19578fa8fc
Fix ASAN build
5 years ago
Michael
f734ffeae4
Fixup MSVC build
5 years ago
Jeff Becker
5d388bc9f2
meh
5 years ago
Jeff Becker
24a27df402
i am a potatoe
5 years ago
Jeff Becker
d2ef6fc77b
just use new/delete :^)
5 years ago
Jeff
bae926d3d6
fix osx compile
5 years ago
Jeff Becker
faacc86eb5
qualify
5 years ago
Jeff Becker
11b9aea4a7
fix
5 years ago
Jeff Becker
018dd008ec
add custom single threaded allocator for utp buffers
...
fix up test net stuff
5 years ago
Jeff Becker
a0c9d912f5
make it compile
...
(faaaaaaaaaaaaaaaAAAAAAAAAaaaaaAAaaaaaaaaAAaaaAAAAAAAAaak)
5 years ago
Jeff Becker
767b521325
log node name
5 years ago
Jeff Becker
9b379a1659
add explicit constructor
5 years ago
Jeff Becker
9d7ff9b35e
compare based on pointer when one or both are nullptr
5 years ago
Jeff Becker
34533db620
add urgent build that builds over an existing path for an endpoint
5 years ago
Michael
1744ae7686
Tidy up service endpoint a bit more
6 years ago
Jeff Becker
92ad98be8b
refactor hooks to be have more c++isms
...
make path build timeouts use log level warning
6 years ago
Jeff Becker
fc3bccb161
revert
6 years ago
Jeff Becker
0cc8517bca
add error messages to ini parser and catch base cases.
6 years ago
Jeff Becker
d423ee02d2
use shared_ptr
6 years ago
Jeff
01906c5d94
Merge remote-tracking branch 'origin/master'
6 years ago
Jeff
81bf00f9bc
Merge pull request #566 from majestrate/on-off-patch
...
add on/off values
6 years ago
Jeff Becker
2332294258
add on/off values
6 years ago
Jeff Becker
49439d80c1
add on/off values
6 years ago
Jeff Becker
fea64eaf12
handle subdomains
6 years ago
Jeff Becker
d20ba9ceab
handle subdomains
6 years ago
Michael
9ee525a006
Fix shadowing warnings
6 years ago
Jeff Becker
0529e45ebe
more
6 years ago
Jeff Becker
af1529fa72
Merge remote-tracking branch 'origin/master'
6 years ago
Michael
4143472a17
Add cmake module to target a library as 'system', and fix a few warnings
6 years ago
Jeff Becker
3a8cb0bfb5
add shell based hooks for service::Endpoint, also make format
6 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
6 years ago
Michael
c39c931d03
Remove IStateful virtual inheritance
6 years ago
Jeff
e10edfd0b8
Merge pull request #531 from majestrate/master
...
bundle RC in build record to improve build success rates.
6 years ago
Jeff Becker
94eb37d490
bundle RC in build record to improve build success rates.
6 years ago
Jeff
bfdbf634dd
Merge pull request #523 from majestrate/master
...
recent stability pokes
6 years ago
Jeff Becker
9503cc66f0
add disk worker based file flusher logger
...
make format
remove package.json
6 years ago
Michael
544c5f9b61
Move metrics publishers to their own directory
6 years ago
Jeff
5834607997
* don't ban bootstrap nodes with profiling
...
* less vigorous profiling timeouts
* async remove rc from disk
6 years ago
Rick V
d887004d99
fix warning
6 years ago
Rick V
9a24c46aa6
move these into a read-write data segment
6 years ago
Jeff Becker
5399b93270
make format and readd win32 console color logging
6 years ago
Jeff Becker
4948fd50f8
be consice
6 years ago
Jeff Becker
40f8434851
syslog
6 years ago
Jeff Becker
9e24557429
refactor logger
6 years ago
Jeff Becker
48254c8ea0
make it compile
6 years ago
Michael
6f23cbe176
Add JSON publisher
6 years ago
Rick V
1fb3a0bf62
stderr is unbuffered by default?
6 years ago
Rick V
120e24ee0a
flush stream after each write
6 years ago
Michael
6b5a688e08
Fix Catalog.Iterator test failure
6 years ago
michael-loki
1fddf59743
Flush output stream after publish
...
Fixes #458
6 years ago
Jeff Becker
bfcaaa87be
check for empty buffer
6 years ago
Jeff Becker
74534c22b8
mark profile success on outbound connection success, add default case in metrics
6 years ago
Rick V
3c21db9316
lul
6 years ago
Michael
8f0f6dde9d
Include What You Use
6 years ago
Michael
f2c5d32399
Metric collection subsystem
6 years ago
Michael
acfff4ca5c
Threading structures for metrics
6 years ago
Rick V
ad966342d9
make windows happy
6 years ago
Jeff Becker
2218749134
Merge remote-tracking branch 'origin/staging' into staging
6 years ago
Jeff Becker
6a09348c47
today's work
6 years ago