-
Notifications
You must be signed in to change notification settings - Fork 13
Add initial KDNetwork library #80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
seanharmer
wants to merge
110
commits into
KDAB:main
Choose a base branch
from
seanharmer:network
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* 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.
Causes some false positives in a dependency.
Whilst I am fixing these may as well do other parts of KDUtils too.
for more information, see https://pre-commit.ci
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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.