mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-07-26 23:08:11 +00:00
When enabled (Settings > Radio > Suppress dup), a received flood packet whose hash matches one still waiting in the outbound queue cancels that queued retransmit: another node already relayed it, so this node stays quiet. Cuts redundant airtime in dense meshes; pairs with Yield (longer delay = wider window to overhear a peer first). - Dispatcher: wantsOverhearSuppress() hook (default off) + suppressQueuedDuplicate() scan over the outbound queue by packet hash; onRetransmitCancelled() hook. - Mesh: overrides onRetransmitCancelled() to back out n_forwarded so the count reflects what actually goes on air. resetStats() already covered. - Flood-only and hash-matched (payload hash ignores path for non-TRACE, so our copy and the peer's relayed copy hash equal). Own sends can't be overheard before their first TX, so suppression only ever cancels forwards. - New repeat_suppress_dup pref, schema sentinel 0xC0DE000F, stray-byte clamp. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>