#[non_exhaustive]pub enum JournalBackendKind {
KernelIoUring,
KernelDirect,
KernelBuffered,
Spdk,
}Expand description
Concrete backend identity reported via JournalBackend::backend_kind.
The enum is #[non_exhaustive] so adding new backend identities
in a future minor release (PMEM, RDMA, etc.) is non-breaking.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
KernelIoUring
Kernel path with io_uring submission + completion (Linux
Method::Direct + Method::Auto selection).
KernelDirect
Kernel path with O_DIRECT + synchronous pwrite + manual
fdatasync (Linux without io_uring, macOS, Windows
FILE_FLAG_NO_BUFFERING).
KernelBuffered
Kernel path with buffered IO + fdatasync / equivalent
(the universal fallback; default mode of super::JournalHandle
when no JournalOptions::direct(true) is set).
Spdk
SPDK kernel-bypass backend — Linux + fsys-spdk feature.
Not selectable in 1.1.0 (the implementation lives in a
companion crate that is in scaffold state); reserved here
so consumers can pattern-match against it today.
Implementations§
Source§impl JournalBackendKind
impl JournalBackendKind
Sourcepub const fn as_str(self) -> &'static str
pub const fn as_str(self) -> &'static str
Returns the canonical lowercase name for the backend. Used
in selection-reason strings on JournalBackendInfo and in
the observability accessor on super::JournalHandle.
Sourcepub const fn is_kernel(self) -> bool
pub const fn is_kernel(self) -> bool
Returns true when the backend is a kernel-path backend
(anything except JournalBackendKind::Spdk).
Trait Implementations§
Source§impl Clone for JournalBackendKind
impl Clone for JournalBackendKind
Source§fn clone(&self) -> JournalBackendKind
fn clone(&self) -> JournalBackendKind
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for JournalBackendKind
impl Debug for JournalBackendKind
Source§impl Display for JournalBackendKind
impl Display for JournalBackendKind
Source§impl Hash for JournalBackendKind
impl Hash for JournalBackendKind
Source§impl PartialEq for JournalBackendKind
impl PartialEq for JournalBackendKind
Source§fn eq(&self, other: &JournalBackendKind) -> bool
fn eq(&self, other: &JournalBackendKind) -> bool
self and other values to be equal, and is used by ==.