Repository navigation
fix(net): truncate TCP_NODELAY readback - #9931
Conversation
|
I checked #9930’s new |
|
Other open pull requests touch the same code. Merging one will break the other, or both implement the same thing. If this one builds on them, list them in Depends on.
Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.
|
|
One additional overlap surfaced: #9932 adds |
|
@MarcZX10 I checked the two heads together ( Both also merge cleanly with main |
|
I completed a diff/code pass on the TCP_NODELAY readback path. Short reads copy only the supplied bytes, preserve surrounding sentinels, and keep the existing socket/level validation ordering; the tests cover native option changes and neighboring error cases. I found no code defect in this diff. The branch is 2 commits ahead/48 behind current |
MarcZX10
left a comment
There was a problem hiding this comment.
Reviewed exact head fea09947372fbb0907c2e549f52a522257008219. The short-output handling copies only the caller-supplied bytes and preserves the existing option validation; focused tests cover short/oversized lengths, sentinels, option changes, IPv4/IPv6 and invalid handles. The author’s combined Windows and WSL2 runs report 8/8 focused network tests including this path; current-main diff-check and conventions pass, and no current-main commit since the merge base touches the PR’s changed paths. I did not run the C++ test locally. The documented dependency on open #9542 (which includes #9523) remains a merge-order requirement, and the PR description correctly says to refresh and rerun on the final integrated head before merge. No independent defect found.
What
Allow zero-length and short
TCP_NODELAYoutput buffers and copy only the supplied bytes. Keep FreeBSD'sTF_NODELAYbit-valued result and existing validation for other TCP options, following tcp_ctloutput.Tested
Windows 11 x86-64, WinLibs MinGW-w64 GCC 15.2.0-r7, Ninja, Release. Head
7ad69a9f19includes main63a863d3b0.75227c7cdcleaves the focused library/fixture sources and test registrations unchanged after the tested base; the trial merge is clean and retains the intervening debt corrections. Intervening shader changes are outside these focused runtime tests.Integration order: #9523 → #9542 → #9515 → #9578; #9525 → #9543 → #9930; #9931 follows #9542. #9930/#9931 can land independently after their prerequisites and before #9932/#9948. #8686 and the canonical-header migration #10706 are already in main; retain accepted-socket protocol inheritance, connection state, all option paths, short-buffer rules, tests and debt entries. The #5836 peer/broadcast order proposal remains unconfirmed.
Overlap snapshot
63a863d3b0: confirmed intersections with #9523, #9525, #9542, #9932, #10097. 7 shared-file comparisons are incomplete because those branches conflict with the base: #5836, #7201, #9494, #9727, #9733, #9948, #10502. Manual inspection finds peer/broadcast paths, platform sends, argument validation, IPv6 conversion, socket records and diagnostic display. No duplicate option implementation was found in those shared hunks. Preserve fields, declarations, registrations and debt entries when integrating. These checks do not establish a combined runtime pass with the conflicting branches.Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)