Details
-
Task
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
None
-
None
-
Foundation PM Staging
Description
As discussed at the hacking day of Contributor Summit.
Will serve as the basis for asynchronous file I/O (ie QTBUG-136764) => all backends need to be asynchronous.
Not based on QIODevice, and will provide vectored read/writes (aka scatter/gather IO), the read/write requests are fulfilled fully asynchronously, using native APIs where available.
Random notes:
- Implement using io_uring on Linux
- Look into ioringapi from Windows
- Otherwise completion ports or overlapped io
- Potentially use grand central dispatch on macOS, but better if it also works on other BSDs
- QThreadPool based fallback for platforms with insufficient API or missing backend
To be implemented as an internal detail at first before we cement it and make it public.
Attachments
Issue Links
- is required for
-
QTBUG-136764 Implement QAsyncFile / QFileV2 / ???
-
- Reported
-
- resulted from
-
QTBUG-129368 Research QFileV2 equivalent with async access from scratch
-
- In Progress
-