pub struct IntegratedMemoryManager { /* private fields */ }Expand description
Integrated memory management system
Implementations§
Source§impl IntegratedMemoryManager
impl IntegratedMemoryManager
Sourcepub fn new(config: MemoryManagementConfig) -> Self
pub fn new(config: MemoryManagementConfig) -> Self
Create new integrated memory manager
Sourcepub fn start_background_management(
&mut self,
) -> Result<(), MemoryManagementError>
pub fn start_background_management( &mut self, ) -> Result<(), MemoryManagementError>
Start background memory management
Sourcepub fn stop_background_management(&mut self)
pub fn stop_background_management(&mut self)
Stop background memory management
Sourcepub fn run_garbage_collection(
&mut self,
memory_regions: &HashMap<usize, MemoryRegion>,
) -> Result<usize, MemoryManagementError>
pub fn run_garbage_collection( &mut self, memory_regions: &HashMap<usize, MemoryRegion>, ) -> Result<usize, MemoryManagementError>
Run garbage collection
Sourcepub fn prefetch(
&mut self,
address: *mut c_void,
size: usize,
access_pattern: Option<&str>,
) -> Result<bool, MemoryManagementError>
pub fn prefetch( &mut self, address: *mut c_void, size: usize, access_pattern: Option<&str>, ) -> Result<bool, MemoryManagementError>
Perform prefetch operation
Sourcepub fn evict_memory(
&mut self,
target_bytes: usize,
) -> Result<usize, MemoryManagementError>
pub fn evict_memory( &mut self, target_bytes: usize, ) -> Result<usize, MemoryManagementError>
Perform memory eviction
Sourcepub fn defragment(
&mut self,
memory_regions: &HashMap<usize, MemoryRegion>,
) -> Result<usize, MemoryManagementError>
pub fn defragment( &mut self, memory_regions: &HashMap<usize, MemoryRegion>, ) -> Result<usize, MemoryManagementError>
Run defragmentation
Sourcepub fn handle_memory_pressure(
&mut self,
memory_usage_ratio: f64,
memory_regions: &HashMap<usize, MemoryRegion>,
) -> Result<(), MemoryManagementError>
pub fn handle_memory_pressure( &mut self, memory_usage_ratio: f64, memory_regions: &HashMap<usize, MemoryRegion>, ) -> Result<(), MemoryManagementError>
Check memory pressure and trigger appropriate management
Sourcepub fn update_access_pattern(
&mut self,
address: *mut c_void,
size: usize,
access_type: AccessType,
) -> Result<(), MemoryManagementError>
pub fn update_access_pattern( &mut self, address: *mut c_void, size: usize, access_type: AccessType, ) -> Result<(), MemoryManagementError>
Update access patterns for adaptive management
Sourcepub fn get_stats(&self) -> &ManagementStats
pub fn get_stats(&self) -> &ManagementStats
Get management statistics
Sourcepub fn get_gc_stats(&self) -> GCStats
pub fn get_gc_stats(&self) -> GCStats
Get garbage collection stats
Sourcepub fn get_prefetch_performance(&self) -> PrefetchPerformance
pub fn get_prefetch_performance(&self) -> PrefetchPerformance
Get prefetch performance
Sourcepub fn optimize_policies(&mut self) -> Result<(), MemoryManagementError>
pub fn optimize_policies(&mut self) -> Result<(), MemoryManagementError>
Optimize management policies based on workload
Auto Trait Implementations§
impl Freeze for IntegratedMemoryManager
impl !RefUnwindSafe for IntegratedMemoryManager
impl Send for IntegratedMemoryManager
impl Sync for IntegratedMemoryManager
impl Unpin for IntegratedMemoryManager
impl UnsafeUnpin for IntegratedMemoryManager
impl !UnwindSafe for IntegratedMemoryManager
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> 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