pub trait AdvancedScheduler: Scheduler {
// Required methods
fn enable_resource_awareness<'life0, 'async_trait>(
&'life0 mut self,
config: ResourceAwarenessConfig,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn set_admission_policy<'life0, 'async_trait>(
&'life0 mut self,
policy: Box<dyn AdmissionPolicy>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn configure_dynamic_batching<'life0, 'async_trait>(
&'life0 mut self,
config: DynamicBatchingConfig,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn queue_analysis(&self) -> QueueAnalysis;
fn simulate_load<'life0, 'life1, 'async_trait>(
&'life0 self,
workload: &'life1 SimulatedWorkload,
) -> Pin<Box<dyn Future<Output = Result<SchedulingSimulationResult>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
}Expand description
Advanced scheduler capabilities
Required Methods§
Sourcefn enable_resource_awareness<'life0, 'async_trait>(
&'life0 mut self,
config: ResourceAwarenessConfig,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn enable_resource_awareness<'life0, 'async_trait>(
&'life0 mut self,
config: ResourceAwarenessConfig,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Enable resource-aware scheduling
Sourcefn set_admission_policy<'life0, 'async_trait>(
&'life0 mut self,
policy: Box<dyn AdmissionPolicy>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn set_admission_policy<'life0, 'async_trait>(
&'life0 mut self,
policy: Box<dyn AdmissionPolicy>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Set custom admission policy
Sourcefn configure_dynamic_batching<'life0, 'async_trait>(
&'life0 mut self,
config: DynamicBatchingConfig,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn configure_dynamic_batching<'life0, 'async_trait>(
&'life0 mut self,
config: DynamicBatchingConfig,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Configure dynamic batching
Sourcefn queue_analysis(&self) -> QueueAnalysis
fn queue_analysis(&self) -> QueueAnalysis
Get detailed queue analysis
Sourcefn simulate_load<'life0, 'life1, 'async_trait>(
&'life0 self,
workload: &'life1 SimulatedWorkload,
) -> Pin<Box<dyn Future<Output = Result<SchedulingSimulationResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn simulate_load<'life0, 'life1, 'async_trait>(
&'life0 self,
workload: &'life1 SimulatedWorkload,
) -> Pin<Box<dyn Future<Output = Result<SchedulingSimulationResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Simulate scheduling for capacity planning
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".