Skip to content

Conversation

seanharmer
Copy link
Contributor

No description provided.

* Adds a new library KDNetwork
* Pulls in OpenSSL as a dependency via vcpkg
* Add small improvements to KDUtils::ByteArray
* Initial implementation for non-blocking Socket, TcpSocket, TcpServer
* DNS resolution is synchronous for now
* Add simple tcp_client and tcp_server examples
* Add placeholders for other network classes
Set KDUTILS_RUN_NETWORK_TESTS=1 to enable tests with real
network requests.
Aims to be more complete than the existing Url class. Keeping the
old Url class around for now until we can properly deprecate it and
remove it.
Fix up a couple of failing tests in Dir on windows by ensuring we
use a normalized format for comparisons. Normalized format is:

* Lowercase drive letter on windows
* Use portable / as directory separator.
Add more tests for TcpSocket and improve the implementation.
Main issue was the WinSock subsystem failing to be initialized on
Win32 in the DnsResolver test as it was not pulling in the simple
static initializer we were relying upon.
Uses a BIO pair to communicate between the socket
and the SSL object.

We just have to take care not to decrypt any data
with SSL_read() until the handshake is done.
Just uses a hard-wired prompt for now.
Be consistent with SslSocket.
Need to reliably handle initial message from server if it
arrives along with the connection upgrade.

Also needs to support fragmentation of messages, and the ability to
reassemble them.
seanharmer and others added 29 commits September 10, 2025 11:39
Causes some false positives in a dependency.
Whilst I am fixing these may as well do other parts of
KDUtils too.
I think we need to fix something in the FS notifier on this platform.
We are not doing this anywhere performance critical.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant