pub struct SchedulingGraph {
pub tasks: Vec<LeafTask>,
pub task_map: HashMap<TaskId, usize>,
pub successors: HashMap<TaskId, Vec<DependencyEdge>>,
pub predecessors: HashMap<TaskId, Vec<DependencyEdge>>,
pub topo_order: Vec<TaskId>,
pub qualified_to_simple: HashMap<String, TaskId>,
}Expand description
A flattened, schedulable graph of leaf tasks only
Fields§
§tasks: Vec<LeafTask>All leaf tasks (no containers)
task_map: HashMap<TaskId, usize>Task lookup by ID
successors: HashMap<TaskId, Vec<DependencyEdge>>Adjacency list: task_id -> list of successor task_ids with edges
predecessors: HashMap<TaskId, Vec<DependencyEdge>>Reverse adjacency: task_id -> list of predecessor task_ids with edges
topo_order: Vec<TaskId>Topological order (computed once, reused)
qualified_to_simple: HashMap<String, TaskId>Map from qualified ID to simple ID (for container date derivation)
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SchedulingGraph
impl RefUnwindSafe for SchedulingGraph
impl Send for SchedulingGraph
impl Sync for SchedulingGraph
impl Unpin for SchedulingGraph
impl UnwindSafe for SchedulingGraph
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more