Tyler Veness
91cbcea841
Replace SFINAE with concepts ( #5361 )
...
Concepts are cleaner to use and result in much better error messages for incorrect template use.
2023-06-07 09:50:09 -07:00
Tyler Veness
5fac18ff4a
Update formatting to clang-format 16 ( #5370 )
2023-05-31 22:10:53 -07:00
Tyler Veness
fd294bdd71
[build] Fix compilation with GCC 13 ( #5322 )
2023-05-16 13:31:58 -07:00
Peter Johnson
fbf92e9190
[wpinet] ParallelTcpConnector: don't connect to duplicate addresses ( #5169 )
...
There can be duplicate addresses coming out of name resolution; if we
already started connecting to an address, don't start another connection
attempt.
2023-03-25 16:28:39 -07:00
sciencewhiz
4af84a1c12
Fix Typos (NFC) ( #5137 )
2023-02-26 15:06:37 -08:00
Peter Johnson
8068369542
[wpinet] uv: Stop creating handles when closing loop ( #5102 )
...
This prevents EventLoopRunner::Stop() from hanging in the case when
new handles are created after the async walk closes all the handles.
2023-02-16 22:49:14 -08:00
Peter Johnson
226ef35212
[wpinet] WebSocket: Reduce server send frame overhead
...
Avoid allocating 4K buffer to send a 10-byte header per frame.
2023-02-13 23:00:03 -08:00
Peter Johnson
01f0394419
[wpinet] Revert WebSocket: When Close() is called, call closed immediately ( #5084 )
...
This caused crashes in ntcore.
This reverts commit b879a6f8c6 (#5047 ).
2023-02-11 22:56:01 -08:00
Peter Johnson
b879a6f8c6
[wpinet] WebSocket: When Close() is called, call closed immediately ( #5047 )
...
This provides the closed callback with the real reason for the
connection being closed. Keep closed from being called twice by adding
a check in SetClosed().
2023-02-03 22:59:19 -08:00
Thad House
2764004fad
[wpinet] Fix incorrect jni definitions ( #4605 )
...
Also re-enables the check task that would have caught this.
2022-11-10 09:42:02 -08:00
Tyler Veness
1fc098e696
Enable log macros to work with no args ( #4475 )
...
This is enabled by the C++20 __VA_OPT__ feature.
Uses of "{}" format string were updated.
Some warning suppressions were required for older clang versions.
Also improve codegen of wpi::Logger::Log(), frc::ReportError(), and frc::MakeError();
these generate better and less redundant code if they use fmt::string_view for the
format string instead of templating on it.
2022-10-19 10:49:27 -07:00
Tyler Veness
fbdc810887
Upgrade to C++20 ( #4239 )
...
* Use explicit this capture required by C++20
* Use C++20 span
* Replace wpi::numbers with std::numbers
* Fix C++20 clang-tidy warning false positive in fmt
* Remove ciso646 include since C++20 removed that header
* Fix global-buffer-overflow asan warnings in ntcore tests
* Add DIOSetProxy constructor to HAL
* Upgrade MSVC compiler to 2022
* Bump native-utils to 2023.2.7 (changes to std=c++20)
Co-authored-by: Peter Johnson <johnson.peter@gmail.com >
2022-10-15 16:33:14 -07:00
Peter Johnson
5c067d30a0
[wpinet] WebSocket: Add SendFrames() ( #4445 )
2022-10-03 08:04:08 -05:00
Peter Johnson
d600529ec0
[wpinet] uv::Async: Add UnsafeSend() ( #4447 )
...
This version assumes the loop still exists, avoiding some overhead.
2022-10-02 08:10:54 -05:00
Tyler Veness
ba4ec6c967
[build] Fix clang-tidy false positive on Linux ( #4406 )
...
* Fix clang-tidy false positive on Linux
```
== clang-tidy /home/tav/frc/wpilib/allwpilib/wpiutil/src/main/native/windows/StackTrace.cpp ==
/home/tav/frc/wpilib/allwpilib/wpiutil/src/main/native/windows/StackTrace.cpp:12:33: error: expected class name [clang-diagnostic-error]
class StackTraceWalker : public StackWalker {
^
/home/tav/frc/wpilib/allwpilib/wpiutil/src/main/native/windows/StackTrace.cpp:16:17: error: unknown type name 'LPCTSTR' [clang-diagnostic-error]
void OnOutput(LPCTSTR szText) override;
^
/home/tav/frc/wpilib/allwpilib/wpiutil/src/main/native/windows/StackTrace.cpp:23:33: error: unknown type name 'LPCTSTR' [clang-diagnostic-error]
void StackTraceWalker::OnOutput(LPCTSTR szText) {
^
```
* Fix false positives for macOS code
2022-09-17 00:23:59 -07:00
Peter Johnson
594df5fc08
[wpinet] uv/util.h: Pull in ws2_32.lib on Windows for ntohs ( #4371 )
2022-08-21 18:48:49 -07:00
Peter Johnson
564a56d99b
[wpinet] Fix memory leak in WorkerThreadTest ( #4368 )
2022-08-21 10:29:31 -07:00
Tyler Veness
3d2115c93e
[wpinet] include-what-you-use in MulticastTest ( #4360 )
...
This fixes an MSVC compilation error with C++20.
2022-08-18 14:03:55 -07:00
Tyler Veness
148c18e658
[wpinet] Upgrade to libuv 1.44.2 ( #4362 )
2022-08-18 13:57:49 -07:00
Tyler Veness
a2a5c926b6
Fix clang-tidy warnings ( #4359 )
...
The warnings included recommendations of braces for if statement
readability, a recommendation for default initialization of an int
array, and include-what-you-use (indirectly through clang-tidy reporting
undefined symbols).
2022-08-17 19:53:56 -07:00
Tyler Veness
340465c929
[ci] Upgrade to clang-format and clang-tidy 14 (NFC) ( #4347 )
2022-08-16 15:25:04 -07:00
Tyler Veness
0e0786331a
Update LLVM libraries to 14.0.6 ( #4350 )
...
The main noticeable change is the SmallString conversion operator to std::string is now explicit instead of implicit.
2022-08-15 05:38:15 -07:00
Thad House
0a5eb65231
[wpinet] Handle empty txt block for mdns announcer ( #4072 )
2022-08-03 11:15:56 -07:00
PJ Reiniger
787fe6e7a5
[wpiutil] Separate third party libraries ( #4190 )
2022-06-18 08:08:31 -07:00
Peter Johnson
41d40dd62f
[wpinet] Fix libuv unused variable warning on Mac ( #4299 )
2022-06-09 23:30:16 -07:00
PJ Reiniger
30f5b68264
[wpinet] Fix JNI loading error ( #4295 )
2022-06-08 22:21:22 -07:00
Tyler Veness
d651a1fcec
Fix internal deprecation warnings ( #4257 )
...
This allows us to error out on deprecation warnings for thirdparty
libraries and standard library features.
Co-authored-by: Starlight220 <53231611+Starlight220@users.noreply.github.com >
2022-05-24 13:56:48 -07:00
Peter Johnson
013efdde25
[wpinet] Wrap a number of newer libuv features ( #4260 )
2022-05-22 20:18:23 -07:00
Tyler Veness
3fada4e0b4
[wpinet] Update to libuv 1.44.1 ( #4232 )
2022-05-18 20:40:27 -07:00
Tyler Veness
6a4752dcdc
Fix GCC 12.1 warning false positives ( #4246 )
2022-05-18 12:22:10 -07:00
Peter Johnson
9af389b200
[wpinet] AddrToName: Initialize name ( #4229 )
2022-05-14 06:55:22 -07:00
Peter Johnson
d673ead481
[wpinet] Move network portions of wpiutil into new wpinet library ( #4077 )
2022-05-07 10:54:14 -07:00