Struct avrox_storage::PageBuffer

source ·
pub struct PageBuffer<const PAGE_SIZE: usize, SD> { /* private fields */ }

Implementations§

source§

impl<const PAGE_SIZE: usize, SD> PageBuffer<PAGE_SIZE, SD>
where SD: RandomRead + RandomWrite,

source

pub fn with_driver(driver: SD) -> Self

Trait Implementations§

source§

impl<const PAGE_SIZE: usize, SD> RandomRead for PageBuffer<PAGE_SIZE, SD>
where SD: RandomRead + RandomWrite,

source§

fn read_at_hinted( &self, addr: SAddr, buf: &mut [u8], hint: AccessHint ) -> Result<usize>

Read into the given buffer, from the given device address. Read more
source§

fn read_at(&self, addr: SAddr, buf: &mut [u8]) -> Result<usize>

Read into the given buffer, from the given device address. Read more
source§

fn read_full_at_hinted( &self, addr: SAddr, buf: &mut [u8], hint: AccessHint ) -> Result<()>

Read into the given buffer, from the given device address. The entire buffer will be filled unless an error condition occurs (e.g. attempting to read off the end of device memory). If an error does occur, the state (partially written, not written at all) of the buffer is undefined.
source§

fn read_full_at(&self, addr: SAddr, buf: &mut [u8]) -> Result<()>

Read into the given buffer, from the given device address. The entire buffer will be filled unless an error condition occurs (e.g. attempting to read off the end of device memory). If an error does occur, the state (partially written, not written at all) of the buffer is undefined.
source§

impl<const PAGE_SIZE: usize, SD> RandomWrite for PageBuffer<PAGE_SIZE, SD>
where SD: RandomRead + RandomWrite,

source§

fn write_at_hinted( &mut self, addr: SAddr, buf: &[u8], hint: AccessHint ) -> Result<usize>

Write the contents of the given buffer at the given device address. Depending on the nature of the underlying device, the write may not complete. The number of bytes actually written will be returned in the Ok() result, and it is the caller’s responsibility to resume writing the remainder.
source§

fn flush(&mut self) -> Result<()>

Flush the write to the device. Writes are not guaranteed to have been completed unless this method has been called.
source§

fn write_all_at_hinted( &mut self, addr: SAddr, buf: &[u8], hint: AccessHint ) -> Result<()>

Write the contents of the given buffer at the given device address. THe entire buffer will be written unless an error condition occurs. If an error does occur, the state (partially written, not written at all) is undefined.
source§

fn write_all_at(&mut self, addr: SAddr, buf: &[u8]) -> Result<()>

Write the contents of the given buffer at the given device address. THe entire buffer will be written unless an error condition occurs. If an error does occur, the state (partially written, not written at all) is undefined.
source§

fn write_at(&mut self, addr: SAddr, buf: &[u8]) -> Result<usize>

Write the contents of the given buffer at the given device address. Depending on the nature of the underlying device, the write may not complete. The number of bytes actually written will be returned in the Ok() result, and it is the caller’s responsibility to resume writing the remainder.

Auto Trait Implementations§

§

impl<const PAGE_SIZE: usize, SD> !Freeze for PageBuffer<PAGE_SIZE, SD>

§

impl<const PAGE_SIZE: usize, SD> !RefUnwindSafe for PageBuffer<PAGE_SIZE, SD>

§

impl<const PAGE_SIZE: usize, SD> Send for PageBuffer<PAGE_SIZE, SD>
where SD: Send,

§

impl<const PAGE_SIZE: usize, SD> !Sync for PageBuffer<PAGE_SIZE, SD>

§

impl<const PAGE_SIZE: usize, SD> Unpin for PageBuffer<PAGE_SIZE, SD>
where SD: Unpin,

§

impl<const PAGE_SIZE: usize, SD> UnwindSafe for PageBuffer<PAGE_SIZE, SD>
where SD: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.