Expand description
Cross-platform APIs for working with files using direct I/O.
Depending on OS, this will use direct I/O, unbuffered, uncaches passthrough file reads/writes, bypassing as much of OS machinery as possible.
NOTE: There are major alignment requirements described here: https://learn.microsoft.com/en-us/windows/win32/fileio/file-buffering#alignment-and-file-access-requirements https://man7.org/linux/man-pages/man2/open.2.html
Structs§
- Aligned
Page Size - A wrapper data structure with 4096 bytes alignment, which is the most common alignment for direct I/O operations.
- Direct
IoFile - Wrapper data structure for direct/unbuffered/uncached I/O.
Constants§
- DISK_
PAGE_ SIZE - 4096 is as a relatively safe size due to sector size on SSDs commonly being 512 or 4096 bytes