1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
use cyfs_base::*;
pub trait Scheduler {
//第一遍遍历自下向上收集资源占用
//第二遍遍历自上向下分配资源
//第三遍遍历自上向下根据分配的资源执行实际的操作
fn collect_resource_usage(&self);
fn schedule_resource(&self);
fn apply_scheduled_resource(&self);
}
pub trait EventScheduler {
fn upload_scheduler_event(&self, requester: &DeviceId) -> BuckyResult<()>;
fn download_scheduler_event(&self, requester: &DeviceId) -> BuckyResult<()>;
}