From 087d1deea0a2f0592706986008013fb88fd8d8eb Mon Sep 17 00:00:00 2001 From: Mikolaj Wielgus Date: Tue, 17 Oct 2023 03:55:21 +0000 Subject: [PATCH] router: Don't try to route around target dot This was causing a panic, as it's not possible to route from *around* a dot *into* the same dot. --- src/router.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/router.rs b/src/router.rs index 7aac20e..d63e7b0 100644 --- a/src/router.rs +++ b/src/router.rs @@ -53,10 +53,11 @@ impl<'a, RO: RouterObserver> AstarStrategy<&Mesh, u64> for RouterAstarStrategy<' fn edge_cost(&mut self, edge: MeshEdgeReference) -> Option { self.observer.before_probe(&self.tracer, &self.trace, edge); - if self - .tracer - .step(&mut self.trace, edge.target(), 5.0) - .is_ok() + if edge.target() != self.to + && self + .tracer + .step(&mut self.trace, edge.target(), 5.0) + .is_ok() { self.observer.on_probe(&self.tracer, &self.trace, edge); self.tracer.undo_step(&mut self.trace);