Skip to content

Commit ebf9bed

Browse files
committed
editoast: refactor simulations to use SimulationResponse without PathfindingResult
Signed-off-by: hamz2a <[email protected]>
1 parent 9d6b9bb commit ebf9bed

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

editoast/src/views/timetable/path_not_found_handler.rs

+2-5
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ pub struct PathNotFoundHandler {
2121
pub infra_id: i64,
2222
pub infra_version: String,
2323
pub train_schedules: Vec<TrainSchedule>,
24-
pub simulations: Vec<(SimulationResponse, PathfindingResult)>,
24+
pub simulations: Vec<SimulationResponse>,
2525
pub work_schedules: Vec<WorkSchedule>,
2626
pub virtual_train_schedule: TrainSchedule,
2727
pub virtual_train_sim_result: SimulationResponse,
@@ -67,10 +67,7 @@ impl PathNotFoundHandler {
6767
// Combine the original simulations with the virtual train's simulation results.
6868
let simulations = [
6969
self.simulations.clone(),
70-
vec![(
71-
self.virtual_train_sim_result.clone(),
72-
self.virtual_train_pathfinding_result.clone(),
73-
)],
70+
vec![self.virtual_train_sim_result.clone()],
7471
]
7572
.concat();
7673

editoast/src/views/timetable/stdcm.rs

+7-4
Original file line numberDiff line numberDiff line change
@@ -198,15 +198,18 @@ async fn stdcm(
198198
let latest_simulation_end = stdcm_request.get_latest_simulation_end(simulation_run_time);
199199

200200
// 3. Get scheduled train requirements
201-
let simulations = train_simulation_batch(
201+
let simulations: Vec<_> = train_simulation_batch(
202202
conn,
203203
valkey_client.clone(),
204204
core_client.clone(),
205205
&train_schedules,
206206
&infra,
207207
stdcm_request.electrical_profile_set_id,
208208
)
209-
.await?;
209+
.await?
210+
.into_iter()
211+
.map(|(sim, _)| sim)
212+
.collect();
210213

211214
let trains_requirements = build_train_requirements(
212215
train_schedules.clone(),
@@ -297,12 +300,12 @@ async fn stdcm(
297300
/// that overlap with the possible simulation times.
298301
pub fn build_train_requirements(
299302
train_schedules: Vec<TrainSchedule>,
300-
simulation_responses: Vec<(SimulationResponse, PathfindingResult)>,
303+
simulation_responses: Vec<SimulationResponse>,
301304
departure_time: DateTime<Utc>,
302305
latest_simulation_end: DateTime<Utc>,
303306
) -> HashMap<i64, TrainRequirements> {
304307
let mut trains_requirements = HashMap::new();
305-
for (train, (sim, _)) in train_schedules.iter().zip(simulation_responses) {
308+
for (train, sim) in train_schedules.iter().zip(simulation_responses) {
306309
let final_output = match sim {
307310
SimulationResponse::Success { final_output, .. } => final_output,
308311
_ => continue,

0 commit comments

Comments
 (0)