pub struct FdpStorageBackend { /* private fields */ }Expand description
FDP-aware storage backend.
Wraps another StorageBackend and emits FDP placement hints before writes
on platforms that support NVMe 2.0 Flexible Data Placement.
On unsupported platforms, the hint is silently ignored (logged at info!).
Implementations§
Source§impl FdpStorageBackend
impl FdpStorageBackend
Sourcepub fn new(inner: Box<dyn StorageBackend>) -> Self
pub fn new(inner: Box<dyn StorageBackend>) -> Self
Wrap an existing backend with FDP hints.
Trait Implementations§
Source§impl StorageBackend for FdpStorageBackend
impl StorageBackend for FdpStorageBackend
Source§fn read(
&self,
path: &Path,
offset: u64,
data: &mut [u8],
) -> Result<usize, EdgestoreError>
fn read( &self, path: &Path, offset: u64, data: &mut [u8], ) -> Result<usize, EdgestoreError>
Source§fn write_with_hint(
&self,
path: &Path,
offset: u64,
data: &[u8],
hint: PlacementHint,
) -> Result<(), EdgestoreError>
fn write_with_hint( &self, path: &Path, offset: u64, data: &[u8], hint: PlacementHint, ) -> Result<(), EdgestoreError>
Write
data with an optional placement hint. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for FdpStorageBackend
impl !UnwindSafe for FdpStorageBackend
impl Freeze for FdpStorageBackend
impl Send for FdpStorageBackend
impl Sync for FdpStorageBackend
impl Unpin for FdpStorageBackend
impl UnsafeUnpin for FdpStorageBackend
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more