pub trait GarbageCollector: Send + Sync {
// Required methods
fn name(&self) -> &str;
fn can_collect(&self, region: &MemoryRegion) -> bool;
fn estimate_collection_time(&self, region: &MemoryRegion) -> Duration;
fn collect(
&mut self,
region: &mut MemoryRegion,
tracker: &mut ReferenceTracker,
) -> Result<GCResult, GCError>;
fn get_statistics(&self) -> GCCollectorStats;
fn configure(&mut self, config: &GCConfig);
}Expand description
Garbage collector trait