pub trait PrefetchStrategy: Send + Sync {
// Required methods
fn name(&self) -> &str;
fn can_prefetch(
&self,
access: &MemoryAccess,
history: &AccessHistoryTracker,
) -> bool;
fn generate_requests(
&self,
access: &MemoryAccess,
history: &AccessHistoryTracker,
) -> Vec<PrefetchRequest>;
fn get_statistics(&self) -> StrategyStats;
fn configure(&mut self, config: &PrefetchConfig);
}Expand description
Prefetch strategy trait
Required Methods§
fn name(&self) -> &str
fn can_prefetch( &self, access: &MemoryAccess, history: &AccessHistoryTracker, ) -> bool
fn generate_requests( &self, access: &MemoryAccess, history: &AccessHistoryTracker, ) -> Vec<PrefetchRequest>
fn get_statistics(&self) -> StrategyStats
fn configure(&mut self, config: &PrefetchConfig)
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".