From 10103fe0588e8830a11b5f6f4a7d8ba643b0cb31 Mon Sep 17 00:00:00 2001 From: medentem Date: Mon, 6 Jan 2025 16:23:13 -0600 Subject: [PATCH] updated coverage is not needed unless rebroadcasting --- src/mesh/FloodingRouter.cpp | 10 +++++----- src/mesh/FloodingRouter.h | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/mesh/FloodingRouter.cpp b/src/mesh/FloodingRouter.cpp index 75ff949c6..ced9c9043 100644 --- a/src/mesh/FloodingRouter.cpp +++ b/src/mesh/FloodingRouter.cpp @@ -76,10 +76,7 @@ bool FloodingRouter::perhapsRebroadcast(const meshtastic_MeshPacket *p) CoverageFilter incomingCoverage; loadCoverageFilterFromPacket(p, incomingCoverage); - CoverageFilter updatedCoverage = incomingCoverage; - mergeMyCoverage(updatedCoverage); - - float forwardProb = calculateForwardProbability(incomingCoverage, updatedCoverage, p->from); + float forwardProb = calculateForwardProbability(incomingCoverage, p->from); float rnd = static_cast(rand()) / static_cast(RAND_MAX); if (rnd <= forwardProb) { @@ -95,6 +92,9 @@ bool FloodingRouter::perhapsRebroadcast(const meshtastic_MeshPacket *p) } #endif + CoverageFilter updatedCoverage = incomingCoverage; + mergeMyCoverage(updatedCoverage); + storeCoverageFilterInPacket(updatedCoverage, tosend); LOG_INFO("Rebroadcasting packet ID=0x%x with ForwardProb=%.2f", p->id, forwardProb); @@ -161,7 +161,7 @@ void FloodingRouter::mergeMyCoverage(CoverageFilter &coverage) coverage.add(nodeDB->getNodeNum()); } -float FloodingRouter::calculateForwardProbability(const CoverageFilter &incoming, const CoverageFilter &updated, NodeNum from) +float FloodingRouter::calculateForwardProbability(const CoverageFilter &incoming, NodeNum from) { #ifdef USERPREFS_USE_COVERAGE_FILTER bool useCoverageFilter = USERPREFS_USE_COVERAGE_FILTER; diff --git a/src/mesh/FloodingRouter.h b/src/mesh/FloodingRouter.h index ca3bdc2cf..93c0e0729 100644 --- a/src/mesh/FloodingRouter.h +++ b/src/mesh/FloodingRouter.h @@ -42,7 +42,7 @@ class FloodingRouter : public Router, protected PacketHistory void mergeMyCoverage(CoverageFilter &coverage); - float calculateForwardProbability(const CoverageFilter &incoming, const CoverageFilter &updated, NodeNum from); + float calculateForwardProbability(const CoverageFilter &incoming, NodeNum from); public: /**