Repository navigation
Conversation
Collaborator
|
what's the state of the apple fast data path? When first introduced in upstream quinn-udp it had to be disabled again. But I think there might have been more work to make it safer since then? I'm also mildly surprised it does not yet enabled by default in noq-udp if it is safely supported, what does quinn-udp do there? |
Contributor
Author
|
We should actually wait for quinn-rs/quinn#2748 I didn't realized about the partial sends |
Collaborator
|
So, we're closing this for now? if we'll have to still explicitly enable it maybe turn it into an issue? |
Contributor
Author
|
Sure, we can also make an issue for later on |
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
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.
Description
Enable noq-udp's Apple fast path for netwatch sockets when both
sendmsg_xandrecvmsg_xare available at runtime. This lets the existing UDP transport batch sends and receives on Apple platforms. Systems without both symbols keep the current per-packet path.The
fast-apple-datapathdependency feature is enabled explicitly becauseUdpSocketStateleaves this path disabled until the socket owner opts in.API Changes
None.
Notes & open questions
The Apple entry points are private APIs. The implementation checks both symbols with
dlsymbefore calling the unsafe opt-in, matching noq-udp's runtime symbol resolution and fallback behavior.Change checklist
cargo makepasses locally. (cargo fmt,cargo check -p netwatch --all-targets,cargo test -p netwatch, and Clippy passed;cargo-makeis not installed.)