mirror of https://codeberg.org/topola/topola.git
refactor(router/thetastar): Store edge ids in `Vec<...>` instead of `VecDeque<...>`
This commit is contained in:
parent
437e2f96d1
commit
1630ed1a45
|
|
@ -4,7 +4,7 @@
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
use std::collections::btree_map::Entry;
|
use std::collections::btree_map::Entry;
|
||||||
use std::collections::{BTreeMap, BinaryHeap, VecDeque};
|
use std::collections::{BTreeMap, BinaryHeap};
|
||||||
|
|
||||||
use std::ops::ControlFlow;
|
use std::ops::ControlFlow;
|
||||||
|
|
||||||
|
|
@ -152,7 +152,7 @@ where
|
||||||
path_tracker: PathTracker<G>,
|
path_tracker: PathTracker<G>,
|
||||||
// FIXME: To work around edge references borrowing from the graph we collect then reiterate over them.
|
// FIXME: To work around edge references borrowing from the graph we collect then reiterate over them.
|
||||||
#[getter(skip)]
|
#[getter(skip)]
|
||||||
edge_ids: VecDeque<G::EdgeId>,
|
edge_ids: Vec<G::EdgeId>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Error, Debug, Clone)]
|
#[derive(Error, Debug, Clone)]
|
||||||
|
|
@ -180,7 +180,7 @@ where
|
||||||
scores: BTreeMap::new(),
|
scores: BTreeMap::new(),
|
||||||
estimate_scores: BTreeMap::new(),
|
estimate_scores: BTreeMap::new(),
|
||||||
path_tracker: PathTracker::<G>::new(),
|
path_tracker: PathTracker::<G>::new(),
|
||||||
edge_ids: VecDeque::new(),
|
edge_ids: Vec::new(),
|
||||||
};
|
};
|
||||||
|
|
||||||
let zero_score = K::default();
|
let zero_score = K::default();
|
||||||
|
|
@ -246,7 +246,7 @@ where
|
||||||
Ok(ControlFlow::Continue(self.state))
|
Ok(ControlFlow::Continue(self.state))
|
||||||
}
|
}
|
||||||
ThetastarState::VisitingProbeOnLineOfSight(visited_navnode) => {
|
ThetastarState::VisitingProbeOnLineOfSight(visited_navnode) => {
|
||||||
if let Some(curr_navedge) = self.edge_ids.pop_front() {
|
if let Some(curr_navedge) = self.edge_ids.pop() {
|
||||||
// This lookup can be unwrapped without fear of panic since the node was
|
// This lookup can be unwrapped without fear of panic since the node was
|
||||||
// necessarily scored before adding it to `.visit_next`.
|
// necessarily scored before adding it to `.visit_next`.
|
||||||
//let node_score = self.scores[&visited_navnode];
|
//let node_score = self.scores[&visited_navnode];
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue