Skip to main content

Module io

Module io 

Source

Enums§

FileData
Holds file data — either zero-copy mmap or an owned Vec. Dereferences to &[u8] for transparent use.

Functions§

file_size
Get file size without reading it (for byte-count-only optimization).
read_file
Read a file with zero-copy mmap for large files or read() for small files. Opens once with O_NOATIME, uses fstat for metadata to save a syscall.
read_stdin
Read all bytes from stdin into a Vec. On Linux, uses raw libc::read() to bypass Rust’s StdinLock/BufReader overhead. Uses a direct read() loop into a pre-allocated buffer instead of read_to_end(), which avoids Vec’s grow-and-probe pattern (extra read() calls and memcpy). Callers should enlarge the pipe buffer via fcntl(F_SETPIPE_SZ) before calling. Uses the full spare capacity for each read() to minimize syscalls.