Struct growthring::WALFileAIO

source ·
pub struct WALFileAIO { /* private fields */ }

Implementations§

source§

impl WALFileAIO

source

pub fn new( rootfd: BorrowedFd<'_>, filename: &str, aiomgr: Arc<AIOManager> ) -> Result<Self, ()>

Trait Implementations§

source§

impl WALFile for WALFileAIO

source§

fn allocate<'life0, 'async_trait>( &'life0 self, offset: WALPos, length: usize ) -> Pin<Box<dyn Future<Output = Result<(), ()>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Initialize the file space in [offset, offset + length) to zero.
source§

fn truncate(&self, length: usize) -> Result<(), ()>

Truncate a file to a specified length.
source§

fn write<'life0, 'async_trait>( &'life0 self, offset: WALPos, data: WALBytes ) -> Pin<Box<dyn Future<Output = Result<(), ()>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Write data with offset. We assume all previous allocate/truncate invocations are visible if ordered earlier (should be guaranteed by most OS). Additionally, the write caused by each invocation of this function should be atomic (the entire single write should be all or nothing).
source§

fn read<'life0, 'async_trait>( &'life0 self, offset: WALPos, length: usize ) -> Pin<Box<dyn Future<Output = Result<Option<WALBytes>, ()>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Read data with offset. Return Ok(None) when it reaches EOF.

Auto Trait Implementations§

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.