updated coverage is not needed unless rebroadcasting

This commit is contained in:
medentem 2025-01-06 16:23:13 -06:00
parent 5c27934332
commit 10103fe058
2 changed files with 6 additions and 6 deletions

View File

@ -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<float>(rand()) / static_cast<float>(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;

View File

@ -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:
/**