pub trait CompactionSelector: Sync + Send {
// Required methods
fn pick_compaction(
&mut self,
task_id: HummockCompactionTaskId,
context: CompactionSelectorContext<'_>,
) -> Option<CompactionTask>;
fn name(&self) -> &'static str;
fn task_type(&self) -> TaskType;
// Provided method
fn report_statistic_metrics(&self, _metrics: &MetaMetrics) { ... }
}Required Methods§
fn pick_compaction( &mut self, task_id: HummockCompactionTaskId, context: CompactionSelectorContext<'_>, ) -> Option<CompactionTask>
fn name(&self) -> &'static str
fn task_type(&self) -> TaskType
Provided Methods§
fn report_statistic_metrics(&self, _metrics: &MetaMetrics)
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".