pub struct Options { /* private fields */ }Expand description
Bounds both in-flight SQEs and the reusable owned scratch arena. No SQPOLL thread is started. A large operation is split into bounded contiguous chunks.
Implementations§
Source§impl Options
impl Options
Sourcepub fn with_syscall_writes(self, enabled: bool) -> Self
pub fn with_syscall_writes(self, enabled: bool) -> Self
Execute buffered positional writes with ordered syscalls, avoiding worker scheduling and the kernel-facing scratch copy. Disabled by default; reads and fsyncs still use the ring unless separately configured.
Sourcepub fn with_cached_reads(self, enabled: bool) -> Self
pub fn with_cached_reads(self, enabled: bool) -> Self
Require two kernel-page-cache probe hits per cohort of 16 small reads (<=64 KiB) before selecting ordinary positional reads. A miss switches the rest of the call to bounded ring batching. A mixed/evicted cohort may block for at most 14 unprobed reads before checking again. Large reads always use the ring; partial or zero probe replies never imply EOF. Disabled by default; unsupported filesystems retain ordinary ring reads.
Sourcepub fn with_queue_depth(self, depth: NonZeroU32) -> Self
pub fn with_queue_depth(self, depth: NonZeroU32) -> Self
Maximum submissions in a wave (1..=4096). Oversized values fail at connection rather than allocating an arbitrarily large kernel ring.
Sourcepub fn with_max_batch_bytes(self, bytes: NonZeroUsize) -> Self
pub fn with_max_batch_bytes(self, bytes: NonZeroUsize) -> Self
Maximum aggregate transfer bytes per wave, also bounding scratch storage, independent of caller-facing read allocation limits. Shared read limits still default to 16 MiB. Defaults to 2 MiB to limit copy working sets while preserving many-file concurrency; tune upward for storage that benefits from larger windows.