57 Commits

Author SHA1 Message Date
fpagliughi
afdeacba94 Enabled tests in CMake 2025-03-30 17:00:30 -04:00
fpagliughi
60ae334f3a Ran a spellcheck and fixed typos 2025-01-13 23:49:10 -05:00
fpagliughi
96711b6dff Cleaned up CMake build. Added namespace targets for subdirectory builds. 2024-05-06 09:13:31 -04:00
fpagliughi
a748e86b17 Hacking away at an OpenSSL implementation (highly unstable). 2024-02-04 15:26:54 -05:00
fpagliughi
c21fc77db4 Acceptor doesn't reuse by default. Created a global text/example port constant, TEST_PORT 2023-12-24 10:59:59 -05:00
fpagliughi
d86b29fef7 Started adding socket options. Changed the acceptor reuse option to specific int option value 2023-12-23 23:58:37 -05:00
fpagliughi
7a238ee3e7 Removed socket::last_error() and cached lastErr_ member. Implemented result<> return values across the API 2023-12-20 21:04:17 -05:00
fpagliughi
f0012a21bd Updated CMake build to C++17 2023-12-17 19:45:22 -05:00
fpagliughi
939f1e2593 Added result::release() 2023-12-16 20:22:30 -05:00
fpagliughi
1b8da3b737 Reformat 2023-12-16 14:43:12 -05:00
fpagliughi
a97285e5c7 Fixed unit tests on Windows with MSVC 2023-12-16 14:31:18 -05:00
fpagliughi
9f3696583c Fixed unit tests for clang 2023-12-16 11:04:29 -05:00
fpagliughi
04a0ba7514 Reworked exception handling. Removed SOCKPP_WITH_EXCEPTIONS. Some few functions may throw, but now they all have a comparable noexcept overload. 2023-12-11 00:50:20 -05:00
fpagliughi
f3ff0d78af Added .clang-format file and used it to reformat sources. 2023-12-10 15:08:10 -05:00
fpagliughi
f81589e824 Some cleanup and documentation of the Catch2 v3.x support. 2023-06-14 17:02:27 -04:00
Daniel Zagaynov
2458290891 Added checking for CATCH2_V2 to tests/unit/*.cpp 2023-06-06 03:01:54 +03:00
Daniel Zagaynov
ea8a723da6 Added catch2 version checking from tests/unit/CMakeLists.txt 2023-06-06 02:44:29 +03:00
fpagliughi
d101292caa Added some simple error handling to can_address with unit tests. 2023-05-02 00:34:08 -04:00
fpagliughi
ca331c59c3 Unix address generates error if path too long 2023-05-01 22:31:26 -04:00
fpagliughi
40943bb5d4 Removed custom exception in favor of system_error with error_code. Reworked inet addresses to get failure info. 2023-05-01 20:10:52 -04:00
fpagliughi
1896e3a64d Added error_code for getaddrinfo() 2023-05-01 00:25:48 -04:00
fpagliughi
119429867d Added some IPv6 address unit tests 2023-05-01 00:23:30 -04:00
fpagliughi
7b8260229c #77 Made exceptions optional in the build. Address validity testing more uniform with 'is_set()' and operator bool()' 2023-04-28 23:19:52 -04:00
fpagliughi
3a6083e8bf More consistent use of error_code. socket::last_error() now returns a std::error_code, while socket::last_errno() returns platform-specific error. 2023-04-28 17:55:00 -04:00
fpagliughi
b3f8bd0ada Improved the 'result' type and added a simple unit test for it. 2023-04-24 08:17:26 -04:00
fpagliughi
1ad8dc64dc #72 Removed exception from 'unix_address' and started marking the methods 'noexcept'. 2023-03-20 10:11:37 -04:00
fpagliughi
c38d45b2ba #72 Removed exception from 'can_address' and started marking the methods 'noexcept'. 2023-03-20 09:54:27 -04:00
fpagliughi
42390b119e Fixed up connector timeouts 2023-01-29 23:52:37 -05:00
fpagliughi
647ead0351 #56 handling unix paths with maximum length (no NUL term) 2023-01-18 20:11:25 -05:00
fpagliughi
01ed2d3c08 CMake - got rid of global CXX std-14 requirement for target settings. 2023-01-16 22:30:04 -05:00
fpagliughi
13074962de Updated the library initializer to use a singleton for run-once guarantee. 2023-01-16 18:30:56 -05:00
fpagliughi
e5c51b541d CMake generating a config version file. 2022-05-30 00:13:13 -04:00
fpagliughi
7d76cbf7ae Cleaned up CMake. Installing generated files. 2022-05-29 22:31:44 -04:00
Arsen Gharagyozyan
dd3ef4a850 Updating for PR to match requirements 2022-05-29 17:31:33 -04:00
fpagliughi
6913af8b0c Scatter/gather working in Windows. 2019-10-04 16:12:24 -04:00
fpagliughi
0cf6e7a6c5 Added stream_socket::create(), tcp_socket unit tests including read/write. 2019-10-04 13:07:14 -04:00
fpagliughi
c19ee6926a #33 Unit tests passing on Windows 2019-09-12 13:33:00 -04:00
fpagliughi
3f012471ef Got unit tests compiling on Windows, though not passing yet. 2019-09-12 12:14:38 -04:00
fpagliughi
8321e63a1c Restored to_timeval function, with template wrapper, and unit tests. 2019-09-09 23:09:19 -04:00
fpagliughi
ddf7132098 #23 socket::close() and shutdown() check for error and return bool. 2019-09-06 14:15:03 -04:00
fpagliughi
e5466faa9f Fixed socket address unit test for unbound socket. 2019-09-02 12:26:34 -04:00
fpagliughi
24690fc77c Added move assignments to connectors and acceptors. Removed family-specific address comparators. 2019-08-26 00:17:25 -04:00
fpagliughi
a0b3d9909b Added acceptor::create() with tests 2019-08-25 20:22:54 -04:00
fpagliughi
1a78bf2706 Started 'acceptor' unit tests. 2019-08-25 13:30:07 -04:00
fpagliughi
63fbd33e5f Started unit tests for 'datagram_socket' and 'connector' 2019-08-25 11:40:05 -04:00
fpagliughi
f9d7039e4b Added 'socket::create()' and moved 'bind()' into base socket class. 2019-08-18 20:34:25 -04:00
fpagliughi
37061b1e1c socket::address() and peer_address() return empty address (AF_UNSPEC) when not bount/connected. 2019-08-18 18:18:03 -04:00
fpagliughi
e1f54eac94 Added socket pairs with tests for Unix domain.
Some minor cleanup
2019-08-17 20:13:01 -04:00
fpagliughi
549be4ecb2 Added some socket unit tests. 2019-08-17 14:45:52 -04:00
fpagliughi
f1f8f33234 Fixed Windows socket::clone() and last_error_str().
Removed failing socket thread-safe error test
2019-08-16 23:55:19 -04:00