From 344baf7ffc5e95342227a146696d4fe401dbc8c4 Mon Sep 17 00:00:00 2001 From: GUVWAF <78759985+GUVWAF@users.noreply.github.com> Date: Thu, 1 Jun 2023 20:36:30 +0200 Subject: [PATCH] Cancel rebroadcast in Tx queue upon receiving another rebroadcast (#2538) * Make portduino great again * Upon receiving packet that was seen recently, cancel a rebroadcast if there was one in Tx queue already --------- Co-authored-by: Ben Meadors --- arch/portduino/portduino.ini | 4 ++-- src/mesh/FloodingRouter.cpp | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/arch/portduino/portduino.ini b/arch/portduino/portduino.ini index 7e3557475f..351c7e65c0 100644 --- a/arch/portduino/portduino.ini +++ b/arch/portduino/portduino.ini @@ -1,6 +1,6 @@ ; The Portduino based sim environment on top of any host OS, all hardware will be simulated [portduino_base] -platform = https://github.com/meshtastic/platform-native.git#096b3c3e9c5c8e19d4c3b6cd803fffef2a9be4c5 +platform = https://github.com/meshtastic/platform-native.git#489ff929dca0bb768256ba2de45f95815111490f framework = arduino build_src_filter = @@ -27,4 +27,4 @@ lib_deps = build_flags = ${arduino_base.build_flags} -fPIC - -Isrc/platform/portduino + -Isrc/platform/portduino \ No newline at end of file diff --git a/src/mesh/FloodingRouter.cpp b/src/mesh/FloodingRouter.cpp index d8861943e3..1711992778 100644 --- a/src/mesh/FloodingRouter.cpp +++ b/src/mesh/FloodingRouter.cpp @@ -21,6 +21,7 @@ bool FloodingRouter::shouldFilterReceived(const meshtastic_MeshPacket *p) { if (wasSeenRecently(p)) { // Note: this will also add a recent packet record printPacket("Ignoring incoming msg, because we've already seen it", p); + Router::cancelSending(p->from, p->id); // cancel rebroadcast of this message *if* there was already one return true; } @@ -62,4 +63,4 @@ void FloodingRouter::sniffReceived(const meshtastic_MeshPacket *p, const meshtas } // handle the packet as normal Router::sniffReceived(p, c); -} +} \ No newline at end of file