Details
-
Epic
-
Resolution: Unresolved
-
P2: Important
-
None
-
None
-
scatter-gather
Description
Since Qt 6.7 added QSpan, we now have the high-level types to create a Qt-ish scatter/gather API on various I/O classes (first and foremost QIODevice).
There are two components to this:
- present the entirety of the internal QByteArray buffers to the OS's own scatter/gather functions (like writev(all buffers) instead of for each buffer: write(buffer), ditto reading in increments of ever-increasing buffers)
- give QIODevice users access to (unbuffered) OS scatter/gather functions (like: write these 15 buffers in one go)
It would help if there was a zero-copy path from user to kernel, even via QIODevice.