Crate ab_direct_io_file

Source
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§

AlignedPageSize
A wrapper data structure with 4096 bytes alignment, which is the most common alignment for direct I/O operations.
DirectIoFile
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