Skip to content

docs(fast_io): audit SEND_ZC equivalent on Windows (WPG-8)#4777

Merged
oferchen merged 1 commit into
masterfrom
docs/wpg-8-send-zc-windows-equivalent
May 23, 2026
Merged

docs(fast_io): audit SEND_ZC equivalent on Windows (WPG-8)#4777
oferchen merged 1 commit into
masterfrom
docs/wpg-8-send-zc-windows-equivalent

Conversation

@oferchen
Copy link
Copy Markdown
Owner

Summary

  • Audit-only design doc docs/design/wpg-8-send-zc-windows-equivalent.md ratifying TransmitFile as the primary Windows zero-copy socket-send primitive, with RIOSend deferred and TransmitPackets rejected.
  • Maps each rsync sender producer (Literal tokens, Copy tokens, multiplex headers, negotiation, compressed streams) to its recommended Win32 API; primary recommendation is TransmitFile for every file-sourced byte.
  • Walks the SEND_ZC dual-CQE contract (transfer + notification) and explains why Win32 has no peer for that shape: every Windows candidate posts a single completion, and the buffer-lifetime invariant the second CQE exists to signal is folded into the chosen primitive (file HANDLE owns data, RIO_BUFFERID registration bounds the slab).
  • Identifies WPG-8.a through WPG-8.f as follow-up implementation subtasks (async TransmitFile via the existing iocp::pump, lpTransmitBuffers.Head envelope wiring, PlatformSendFile trait, AV warmup probe, CLI flag surface, RIO deferred behind WPG-9).

Inputs and lineage

Test plan

  • No source changes; doc-only PR. CI fmt + clippy must remain green.
  • CI doc-link / markdown lint passes on the new file.
  • Cross-references resolve (WPG-7.a, WPG-7.b, WPG-7.c, companion windows-transmitfile*.md, iouring-send-zc.md).

Audit-only design doc that ratifies TransmitFile as the primary
Windows zero-copy socket-send primitive. Maps each rsync sender
producer to its recommended Win32 API, defers RIOSend until a
producer with a registered-slab source materialises, and rejects
TransmitPackets as redundant. Restates the SEND_ZC dual-CQE
contract from the Linux reference implementation, walks the cost
model (per-send overhead, throughput estimate, CPU reduction
estimate), and lists open subtasks WPG-8.a through WPG-8.f that
own the implementation surface if any get filed.
@oferchen oferchen merged commit 7c3a3d7 into master May 23, 2026
10 checks passed
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label May 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant