pub struct MemoryAllocator { /* private fields */ }Expand description
Memory allocator for managing guest memory
Implementations§
Source§impl MemoryAllocator
impl MemoryAllocator
pub fn new(min_block_size: u32) -> Self
Sourcepub fn find_free_block(&mut self, size: u32) -> Option<GuestPtr>
pub fn find_free_block(&mut self, size: u32) -> Option<GuestPtr>
Find a suitable free block or return None
Sourcepub fn return_block(&mut self, region: MemoryRegion)
pub fn return_block(&mut self, region: MemoryRegion)
Return a block to the free list
Sourcepub fn add_region(&mut self, region: MemoryRegion)
pub fn add_region(&mut self, region: MemoryRegion)
Add initial memory region
pub fn allocated_bytes(&self) -> u64
pub fn peak_bytes(&self) -> u64
Trait Implementations§
Auto Trait Implementations§
impl Freeze for MemoryAllocator
impl RefUnwindSafe for MemoryAllocator
impl Send for MemoryAllocator
impl Sync for MemoryAllocator
impl Unpin for MemoryAllocator
impl UnsafeUnpin for MemoryAllocator
impl UnwindSafe for MemoryAllocator
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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