Struct MapperFlush
pub struct MapperFlush<S>(Page<S>)
where
S: PageSize;Expand description
This type represents a page whose mapping has changed in the page table.
The old mapping might be still cached in the translation lookaside buffer (TLB), so it needs to be flushed from the TLB before it’s accessed. This type is returned from a function that changed the mapping of a page to ensure that the TLB flush is not forgotten.
Tuple Fields§
§0: Page<S>Implementations§
§impl<S> MapperFlush<S>where
S: PageSize,
impl<S> MapperFlush<S>where
S: PageSize,
pub fn new(page: Page<S>) -> MapperFlush<S>
pub fn new(page: Page<S>) -> MapperFlush<S>
Create a new flush promise
Note that this method is intended for implementing the Mapper trait and no other uses
are expected.
pub fn flush(self)
pub fn flush(self)
Flush the page from the TLB to ensure that the newest mapping is used.
pub fn ignore(self)
pub fn ignore(self)
Don’t flush the TLB and silence the “must be used” warning.
Trait Implementations§
Auto Trait Implementations§
impl<S> Freeze for MapperFlush<S>
impl<S> RefUnwindSafe for MapperFlush<S>where
S: RefUnwindSafe,
impl<S> Send for MapperFlush<S>where
S: Send,
impl<S> Sync for MapperFlush<S>where
S: Sync,
impl<S> Unpin for MapperFlush<S>where
S: Unpin,
impl<S> UnsafeUnpin for MapperFlush<S>
impl<S> UnwindSafe for MapperFlush<S>where
S: UnwindSafe,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more