ResourceManager

Trait ResourceManager 

Source
pub trait ResourceManager:
    Send
    + Sync
    + Debug {
    // Required methods
    fn check_availability(
        &self,
        requirements: &TaskRequirements,
    ) -> SklResult<bool>;
    fn allocate_resources(
        &self,
        requirements: &TaskRequirements,
    ) -> SklResult<ResourceAllocation>;
    fn release_resources(&self, allocation: ResourceAllocation) -> SklResult<()>;
    fn get_usage_summary(&self) -> ResourceUsageSummary;
    fn initialize(&self) -> SklResult<()>;
    fn shutdown(&self) -> SklResult<()>;
    fn health_check(&self) -> Health;
}
Expand description

Core resource manager trait

Required Methods§

Source

fn check_availability(&self, requirements: &TaskRequirements) -> SklResult<bool>

Check if resources are available for the given requirements

Source

fn allocate_resources( &self, requirements: &TaskRequirements, ) -> SklResult<ResourceAllocation>

Allocate resources for a task

Source

fn release_resources(&self, allocation: ResourceAllocation) -> SklResult<()>

Release allocated resources

Source

fn get_usage_summary(&self) -> ResourceUsageSummary

Get current resource usage summary

Source

fn initialize(&self) -> SklResult<()>

Initialize the resource manager

Source

fn shutdown(&self) -> SklResult<()>

Shutdown the resource manager

Source

fn health_check(&self) -> Health

Get resource manager health

Implementors§