maintenance_flow/
maintenance_flow.rs1use sectorsync::low_level::runtime::{EventRouter, StationIndexSet, StationSet};
4use sectorsync::prelude::{LoadSampler, SplitExecutor, StationExecutor, Tick};
5
6fn main() {
7 let mut stations = StationSet::default();
8 let indexes = StationIndexSet::default();
9 let mut router = EventRouter::default();
10
11 let mut sampler = LoadSampler::default();
12 let load = sampler.sample(&stations, &indexes, &router, &[]);
13
14 let mut splits = SplitExecutor::default();
15 let schedule = splits.plan(load, Tick::new(1));
16 let mut station_execution = StationExecutor::default();
17 let advances = station_execution
18 .advance_loaded(&mut stations, load)
19 .stations_selected;
20 let ready_events = station_execution
21 .drain_ready_events(&stations, &mut router)
22 .expect("empty event drain should work")
23 .len();
24
25 println!("samples={}", load.len());
26 println!("split_actions={}", schedule.actions.len());
27 println!("station_advances={advances}");
28 println!("ready_events={ready_events}");
29}